键盘回车(可以衍生用户操作任意键盘)
/// <summary> /// 列表的回车事件,实现光标跳转 /// </summary> /// <param name="e"></param> private void DgvKeyPress(KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { //避免乱按回车键 造成报错 if (dgvRecordList.Grid.ActiveCell == null) { return; } if (StatCode == InvenMgrClassify.YP.GetHashCode().ToString()) { DrugInout drug = dgvRecordList.Grid.ActiveRow.ListObject as DrugInout; List<DrugInout> drugs = dgvRecordList.DataSource as List<DrugInout>; if (drug == null || drugs == null) { return; } //药品信息 if (dgvRecordList.Grid.ActiveCell.Column.Key == nameof(DrugInout.DgInfo)) { DemPublic.NextFocusNew(dgvRecordList, dgvRecordList.Grid.ActiveRow.Index, nameof(DrugInout.DioActualAmt), true, false); } //盘点数 else if (dgvRecordList.Grid.ActiveCell.Column.Key == nameof(DrugInout.DioActualAmt)) { if (drug.DgId == null) { return; } //如果是最后一行 if (dgvRecordList.Grid.ActiveRow.Index == drugs.Count - 1) { DemPublic.NextFocusNew(dgvRecordList, dgvRecordList.Grid.ActiveRow.Index, nameof(DrugOrdDtl.DgInfo), false, false); AddGridRow(); dgvRecordList.Grid.PerformAction(UltraGridAction.EnterEditModeAndDropdown, false, false); dgvRecordList.GridRefresh(); } //如果不是最后一行,跳转到下一行 else { DemPublic.NextFocusNew(dgvRecordList, dgvRecordList.Grid.ActiveRow.Index + 1, nameof(DrugOrdDtl.DgInfo), true, false); } } } else if (StatCode == InvenMgrClassify.WC.GetHashCode().ToString()) { EisaiInout drug = dgvRecordList.Grid.ActiveRow.ListObject as EisaiInout; List<EisaiInout> drugs = dgvRecordList.DataSource as List<EisaiInout>; if (drug == null || drugs == null) { return; } //药品信息 if (dgvRecordList.Grid.ActiveCell.Column.Key == nameof(EisaiInout.EgInfo)) { DemPublic.NextFocusNew(dgvRecordList, dgvRecordList.Grid.ActiveRow.Index, nameof(EisaiInout.EioActualAmt), true, false); } //实盘数 else if (dgvRecordList.Grid.ActiveCell.Column.Key == nameof(EisaiInout.EioActualAmt)) { if (drug.EisaiId == null) { return; } //如果是最后一行 if (dgvRecordList.Grid.ActiveRow.Index == drugs.Count - 1) { DemPublic.NextFocusNew(dgvRecordList, drugs.Count - 1, nameof(EisaiInout.EgInfo), false, false); AddGridRow(); dgvRecordList.Grid.PerformAction(UltraGridAction.EnterEditModeAndDropdown, false, false); dgvRecordList.GridRefresh(); } //如果不是最后一行,跳转到下一行 else { DemPublic.NextFocusNew(dgvRecordList, dgvRecordList.Grid.ActiveRow.Index + 1, nameof(EisaiInout.EgInfo), false, false); } } } else if (StatCode == InvenMgrClassify.HC.GetHashCode().ToString()) { MatInvchkDtl drug = dgvRecordList.Grid.ActiveRow.ListObject as MatInvchkDtl; List<MatInvchkDtl> drugs = dgvRecordList.DataSource as List<MatInvchkDtl>; if (drug == null || drugs == null) { return; } //药品信息 if (dgvRecordList.Grid.ActiveCell.Column.Key == nameof(MatInvchkDtl.DmcInfo)) { DemPublic.NextFocusNew(dgvRecordList, dgvRecordList.Grid.ActiveRow.Index, nameof(MatInvchkDtl.MicdActAmt), true, false); } //实盘数 else if (dgvRecordList.Grid.ActiveCell.Column.Key == nameof(MatInvchkDtl.MicdActAmt)) { if (drug.DmcId == null) { return; } //如果是最后一行 if (dgvRecordList.Grid.ActiveRow.Index == drugs.Count - 1) { DemPublic.NextFocusNew(dgvRecordList, drugs.Count - 1, nameof(MatInvchkDtl.DmcInfo), false, false); AddGridRow(); dgvRecordList.Grid.PerformAction(UltraGridAction.EnterEditModeAndDropdown, false, false); dgvRecordList.GridRefresh(); } //如果不是最后一行,跳转到下一行 else { DemPublic.NextFocusNew(dgvRecordList, dgvRecordList.Grid.ActiveRow.Index + 1, nameof(MatInvchkDtl.DmcInfo), false, false); } } } else { AppInvchkDtl drug = dgvRecordList.Grid.ActiveRow.ListObject as AppInvchkDtl; List<AppInvchkDtl> drugs = dgvRecordList.DataSource as List<AppInvchkDtl>; if (drug == null || drugs == null) { return; } //药品信息 if (dgvRecordList.Grid.ActiveCell.Column.Key == nameof(AppInvchkDtl.DacInfo)) { DemPublic.NextFocusNew(dgvRecordList, dgvRecordList.Grid.ActiveRow.Index, nameof(AppInvchkDtl.AicdActAmt), true, false); } //实盘数 else if (dgvRecordList.Grid.ActiveCell.Column.Key == nameof(AppInvchkDtl.AicdActAmt)) { if (drug.DacId == null) { return; } //如果是最后一行 if (dgvRecordList.Grid.ActiveRow.Index == drugs.Count - 1) { DemPublic.NextFocusNew(dgvRecordList, drugs.Count - 1, nameof(AppInvchkDtl.DacInfo), false, false); AddGridRow(); dgvRecordList.Grid.PerformAction(UltraGridAction.EnterEditModeAndDropdown, false, false); dgvRecordList.GridRefresh(); } //如果不是最后一行,跳转到下一行 else { DemPublic.NextFocusNew(dgvRecordList, dgvRecordList.Grid.ActiveRow.Index + 1, nameof(AppInvchkDtl.DacInfo), false, false); } } } } }