1.项目要求:双击dataGrid A的数据时,对应的数据添加到dataGrid B去,dataGridA删除当前双击的数据。反之,亦然;
2.代码实现:
dataGrid A的DoubleClickCell事件
private void grdMeterail_DoubleClickCell(object sender, Infragistics.Win.UltraWinGrid.DoubleClickCellEventArgs e)
{
var waitList = this.bsComponent.DataSource as List<COMPONENT>;//A
var selectedlst = this.bsComponentS.DataSource as List<COMPONENT>;//B
if (null == waitList || waitList.Count == 0)
{
return;
}
var comObj = this.bsComponent.Current as COMPONENT;
if (comObj == null)
{
return;
}
selectedlst.Add(comObj);
waitList.Remove(comObj);
bsComponentS.DataSource = selectedlst;
bsComponent.DataSource = waitList;
grdMeterail.DataBind();//A
grdPanelList.DataBind();//B
}
dataGrid B的DoubleClickCell事件
private void grdPanelList_DoubleClickCell(object sender, Infragistics.Win.UltraWinGrid.DoubleClickCellEventArgs e)
{
var waitList = this.bsComponent.DataSource as List<COMPONENT>;//A
var selectedlst = this.bsComponentS.DataSource as List<COMPONENT>;//B
if (null == selectedlst || selectedlst.Count == 0)
{
return;
}
var index = this.grdPanelList.ActiveRow.Index;//返回的存在差异点 B列表
if (index < 0)
return;
var comObj = selectedlst[index];
if (comObj == null)
{
return;
}
waitList.Add(comObj);
selectedlst.Remove(comObj);
bsComponentS.DataSource = selectedlst;//B
bsComponent.DataSource = waitList;//A
grdMeterail.DataBind();//A
grdPanelList.DataBind();//B
}