• 键盘回车(可以衍生用户操作任意键盘)


     /// <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);
                            }
                        }
                    }
                }
            }
  • 相关阅读:
    IM,游戏服务端 tcp 框架整理
    IronPython初体验和实战集合等类型转换和类型匹配
    C# 控件包
    ORM框架系列
    C# Excel或表格插件
    vue之修饰符
    vue之单表输入绑定
    vue之计算属性和侦听器
    vue之指令系统
    vue之用法
  • 原文地址:https://www.cnblogs.com/yuanshuo/p/12857131.html
Copyright © 2020-2023  润新知