datatable 某行删除后回复
dataTable中某行已被标记为删除 ,怎么行号,已备回复
private void btnDel_Click(object sender, System.EventArgs e)
{
if (this.dataGrid1.VisibleRowCount==0)
{
MessageBox.Show("请先添加列名");
return;
}
if (dataGrid1.CurrentRowIndex<0)
{
MessageBox.Show("请先选择一列");
return;
}
DataColumnCollection dcc=dt.Columns;//取得table的列
DataColumn dc=dcc[0];//第一列
DataColumn[] mydc={dc};//转换为可用格式
dt.PrimaryKey=mydc;//主键
string c=dc.ToString();
string s=dataGrid1[dataGrid1.CurrentRowIndex,0].ToString(); //dataGrid的列序号也就是主键的值
DataRow myrow= dt.Rows.Find(s); //找到对应的行
deleteRowIndex=dataGrid1.CurrentRowIndex;
在这里记下myrow在dataTable中的行号
MessageBox.Show(deleteRowIndex.ToString()); myrow.Delete();//标记为删除
dataGrid1.Refresh();//更新dataGrid
}
private void btnCan_Click(object sender, System.EventArgs e)
{
dt.Rows[deleteRowIndex].RejectChanges();//回复删除
dataGrid1.Refresh();
}
还有2.回复后是不是显示在原来的位置,例如原来在dataGrid的第一行,撤销删除后还是第一行
3.如果想执行多次的回复是不是弄个ArrayLIst 一次记录删除的行号即可;
4.我看到有个datatable.ImportRow(DataRow)//可将dataRow赋值到datatable中,且保持任何属性设置及初始值和当前值 是不是回复的时候也可以用这个,代替dt.Rows[deleteRowIndex].RejectChanges();
菜鸟问题比较多,希望大家不吝赐教