C# datatable 表复制的问题
目的:提取dataGridView1表格被修改前的值。做法{...da.SelectCommand=cmd;conn.Open();da.Fill(tbl);dataGr...
目的:提取dataGridView1表格被修改前的值。
做法
{...
da.SelectCommand = cmd;
conn.Open();
da.Fill(tbl);
dataGridView1.DataSource = tbl;
conn.Close();//转到返回键关闭;
tbl2 = tbl.Copy(); //在这里保存一张表,之前的表
....}
{...
int a = dataGridView1.CurrentCell.RowIndex; //a为该修改位置的行数,用来确认值
if ((tbl2.Rows[a]["课程名称"]).ToString() == 首页.row00 && (tbl.Rows[a]["课程名称"]).ToString() != 首页.row00) //之前为一个值,修改后不是这值
{
}
if ((tbl2.Rows[a]["学生姓名"]).ToString() == 首页.row10 && (tbl.Rows[a]["学生姓名"]).ToString() != 首页.row10) // //之前不是这值,修改是这值
{
}
.....}
报错:
(tbl2.Rows[a]["学生姓名"]).ToString() //名称
“tbl2.Rows[a]”引发了“System.IndexOutOfRangeException”类型的异常 string //显示
System.IndexOutOfRangeException:在位置0处没有任何行 //ex.Text
tbl和tbl2都是DataTable而不是DataSet 展开
做法
{...
da.SelectCommand = cmd;
conn.Open();
da.Fill(tbl);
dataGridView1.DataSource = tbl;
conn.Close();//转到返回键关闭;
tbl2 = tbl.Copy(); //在这里保存一张表,之前的表
....}
{...
int a = dataGridView1.CurrentCell.RowIndex; //a为该修改位置的行数,用来确认值
if ((tbl2.Rows[a]["课程名称"]).ToString() == 首页.row00 && (tbl.Rows[a]["课程名称"]).ToString() != 首页.row00) //之前为一个值,修改后不是这值
{
}
if ((tbl2.Rows[a]["学生姓名"]).ToString() == 首页.row10 && (tbl.Rows[a]["学生姓名"]).ToString() != 首页.row10) // //之前不是这值,修改是这值
{
}
.....}
报错:
(tbl2.Rows[a]["学生姓名"]).ToString() //名称
“tbl2.Rows[a]”引发了“System.IndexOutOfRangeException”类型的异常 string //显示
System.IndexOutOfRangeException:在位置0处没有任何行 //ex.Text
tbl和tbl2都是DataTable而不是DataSet 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询