提取(GridControl数据源只改变若干条记录)datatable中的指定记录(DicTionary)

来源:互联网 发布:淘宝银行卡 编辑:程序博客网 时间:2024/05/19 23:17

Dictionary<int, DataRow> Dic_EditRow = new Dictionary<int, DataRow>();

利用DicTionary;

int 是主键,必须唯一标示

第一步:

记录修改过的行使用GV_CellValueChanged事件

        private void gvFilewage_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
                int int_EditFid = Convert.ToInt32(gvFilewage.GetFocusedRowCellValue("FID"));
                DataRow dr = gvFilewage.GetFocusedDataRow();
                if (Dic_EditRow.ContainsKey(int_EditFid))//如果已经存在该记录了 那么删掉之前的 再新增一条
                {
                    Dic_EditRow.Remove(int_EditFid);
                    Dic_EditRow.Add(int_EditFid, dr);
                }
                else
                {
                    Dic_EditRow.Add(int_EditFid, dr);
                }
        }

第二步:

遍历该集合的值。进行操作

 foreach (DataRow dr in Dic_EditRow.Values)
                    {
                        string strid = dr["ID"].ToString();
                        ...
                      }

Dictionary的其他方法 D.Add();D.Clear();D.remove();等