winfrom 界面中表格数据修改及刷新(DEV)

信息管理系统中大部分界面是数据展示及数据修改功能,在实现这些功能时由于程序员习惯不同会出现风格迥异的实现逻辑。

一下是我在开发充总结出的一些小经验,在这里跟大家一起分享交流。

下面这段代码是编写的一个公共方法,该方法需要4个参数T mdl 操作的实体对象,ActionType acType操作的类型:添加,删除,修改,

DevExpress.XtraGrid.GridControl 管理界面使用的gridcontrol,CommonControls.CustomXtraGrid
管理界面使用gridView1
  private void RefreshData<T>(T mdl, ActionType acType, DevExpress.XtraGrid.GridControl gridControl1, CommonControls.CustomXtraGrid gridView1)
        {
            //声明ColumnView对象
            var columnView = (ColumnView)gridControl1.FocusedView;
            //得到选中的行索引
            int focusedhandle = columnView.FocusedRowHandle;
            var dataSource = gridControl1.DataSource as List<T>;

            switch (acType)
            {
                case ActionType.修改:
                    dataSource[focusedhandle] = mdl;
                    break;
                case ActionType.添加:
                    dataSource.Insert(0, mdl);
                    break;
                case ActionType.删除:
                    dataSource.Remove(mdl);
                    break;
            }
            this.gridView1.RefreshData();
        }
//操作类型枚举   
enum ActionType
    {
        修改 = 0,
        添加,
        删除,
    }

  

posted @ 2019-01-23 14:13  吃葡萄不吐葡萄脾  阅读(817)  评论(0编辑  收藏  举报