[原创]删除DataGrid的多条记录(WINFORM)
我在网上看到很多网友在问此问题,正好我也遇到此问题,我研究了半天还是没有找到合适的办法,因此只好放弃性能来提高功能。不说废话下面就进入主题。
1.前题条件在你的项目中已存在DATAGRID并载入数据
2.在DATAGRID中必须有一列是主键或某列的值具有唯一性
3.在项目中加一个"BUTTON",并在单击事件中运行下面的方法
public void DeleteSelectedRecord(DataGrid dgrid)
{
DataTable dtable;
DataView dview;
ArrayList al;
dtable = new DataTable();
dtable = (DataTable)dgrid.DataSource;
dview = dtable.DefaultView;
al= new ArrayList();
//記錄選中的記錄
for (int y=0;y<dgrid.VisibleRowCount;y++)
{
if (dgrid.IsSelected(y))
{
al.Add(dtable.Rows[y]["主键列"].ToString());
}
}
//刪除選中的記錄
foreach(string str in al)
{
dview.RowFilter= "主键列 = '"+str+"'";
dview.Delete(0);
}
dview.RowFilter = "1=1";
dgrid.DataSource = dtable;
}
这个方法在性能上不是很好,不过可以实现所要的功能,那位高手有更好的方法能发给我,这里先谢啦。