gpt4 book ai didi

C# DataSet.Tables[0].GetChanges();总是返回所有行

转载 作者:太空宇宙 更新时间:2023-11-03 19:57:22 26 4
gpt4 key购买 nike

我已经从 文本文件 中将 DataGridView 绑定(bind)到 C# WinForms 中,如下所示

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
{}

另一方面,我从 SQLServer 绑定(bind) DataGridView 的另一个函数按预期工作。

谢谢

最佳答案

在进行如下更改后,您需要更新到 DGV 的 DataSource:

 ((System.Data.DataTable)this.dataGridView1.DataSource).AcceptChanges();

关于C# DataSet.Tables[0].GetChanges();总是返回所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32134853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com