我在DataGridView
C# WinForms
绑定text file
,如下所示
的onPageLoad
DataTable table = new DataTable();
table.Columns.Add(Column0);
table.Columns.Add(Column1);
table.Columns.Add(Column2);
table.Columns.Add(Column3);
using (StreamReader sr = new StreamReader(Environment.CurrentDirectory + @"/data.txt"))
{
while (!sr.EndOfStream)
{
string[] parts = sr.ReadLine().Split(',');
DeviceIDCounter = DeviceIDCounter + 1;
table.Rows.Add(DeviceIDCounter, parts[0], parts[1], parts[2]);
}
}
dataSet = new DataSet();
dataSet.Clear();
dataSet.Tables.Add(table);
dataGridView1.DataSource = dataSet.Tables[0];
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
DeviceIDCounter = 0;
现在,在更新dataGridView1
中的单行时,它始终返回所有行
onButtonClick
DataTable dtRecordsUpdated = dataSet.Tables[0].GetChanges(); //always returning total rows
if (dtRecordsUpdated != null && dtRecordsUpdated.Rows.Count > 0)
{
Cursor.Current = Cursors.WaitCursor;
Cursor.Current = Cursors.Default;
}
else
{}
另一方面,来自DataGridView
的另一个绑定SQLServer
的函数正在按预期工作。
由于
答案 0 :(得分:4)
在进行如下更改之后,您需要更新到DGV的DataSource:
.s-changes {
color: red;
font-style: italic;
text-decoration: line-through;
display: block;
}
.h-changes {
color: #000000;
font-style: normal;
text-decoration: none;
display: none;
}
.s-changes-new {
color: #347C2C;
}
.h-changes-new {
color: #000000;
font-style: normal;
text-decoration: none;
}
答案 1 :(得分:1)
DataTable.GetChanges方法:获取DataTable的副本,该副本包含自加载或上次调用AcceptChanges以来对其所做的所有更改。