如何停止DataGrid添加行?
问题描述:
这是我的方法:如何停止DataGrid添加行?
Datatable data2 = new Datatable();
int result = 0;
using (SqlConnection conn = new SqlConnection(connStr))
{
try
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
conn.Open();
cmd.CommandText = "SELECT * from TableA";
SqlDataAdapter da = new SqlDataAdapter(cmd);
result = da.Fill(data2);
if (result > 0)
{
this.dgBatch.DataSource = data2;
}
else
{
MessageBox.Show("No Records!");
}
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
}
finally
{
if (conn.State == ConnectionState.Open) conn.Close();
}
}
如果我把这种方法连续它总是第一个查询添加行。
例:
表数据:5
首先调用:5
第二个呼叫:10.复制从第一呼叫的所有记录。
谢谢问候
答
假设数据2是一个DataTable
结果= da.Fill(数据2);将始终合并结果,因为您使用的是同一个数据表实例。
如果您希望每次都获取新副本,而不是创建数据表的新实例并且用数据填充此实例。
所以行结果= da.Fill(data2);添加以下行。
data2 = new Datatable();
答
那是因为你正在重用data2
。下面这行之前,您应该创建data2
一个新的实例:
result = da.Fill(data2);