我在backgroundWorker_RunWorkerCompleted方法中具有以下代码段。一切都很完美,我期望的数据显示在DataGridView中。
更新的代码:
private void GetResults()
{
dataGridView1.DataSource = null;
DataTable errorTable= new DataTable();
errorTable.Columns.Add("Desc", typeof(string));
errorTable.Columns.Add("Line", typeof(int));
errorTable.Columns.Add("File", typeof(string));
foreach (var filePath in relPaths)
{
SyntaxCheck sc = new SyntaxCheck
{
filePath = singlePath
};
errorTable.Merge(sc.searchFiles(), true);
}
dataGridView1.DataSource = errorTable;
}
在GetResults()
中调用 backgroundWorker_RunWorkerCompleted()
当我再次按下按钮进行所有这些操作时,我的DataGridView就会更新,并且每个结果都有2个。我再做一次,每个结果有3个。我已经检查了两个小时的代码,找不到错误。
看起来它只是在合并中不断添加数据。如果我在文件中编辑数据以使它们不应该出现在数据表中,然后再次按下按钮,则该数据的所有条目都将消失。但是,其他数据仍然与以前相同。
所有数据表都具有相同的列。我试过在各个点上调用Rows.Clear(),什么也没改变。
答案 0 :(得分:1)
如果将断点添加到代码中,然后将鼠标悬停在errorTable上,您将看到一个向下箭头,然后选择Datatable Visualizer,您将看到该表的内容。因此,您可以通过在代码的不同部分放置断点来找出问题所在,直到找到要添加重复项的地方。