如何比较数据表

时间:2015-08-12 19:20:46

标签: c# datagridview

背景

我有一组介于1000-9999之间的数字,两个数据表之间有相同的Schema。然后克隆一个数据表的模式,然后填充两个原始表中的行。然后,第三个新数据表将显示在datagridview中。

问题

然后我如何突出显示datagridview中包含第一个数据表中的行的行?

代码

 private void combineTables()
        {
            bothIdsTbl = UsedIdsTbl.Clone();
            dataGridView3.DataSource = bothIdsTbl;


            for (int i = 0; i <= UnUsedIdsTbl.Rows.Count - 1; ++i)
            {
                bothIdsTbl.ImportRow(UnUsedIdsTbl.Rows[i]);

            }
            for (int i = 0; i <= UsedIdsTbl.Rows.Count - 1; ++i)
            {

                bothIdsTbl.ImportRow(UsedIdsTbl.Rows[i]);
            }

           dataGridView3.Sort(this.dataGridView3.Columns["stationid"], ListSortDirection.Ascending);


         }

2 个答案:

答案 0 :(得分:1)

最佳解决方案如下:

  • 在填充之前向第3个表添加“flag”列,
  • 在该列中输入一个值,表示从第一个表导入行的次数。
  • 使用DataGridView的CellFormatting事件进行更改 根据标志栏,单元格返回颜色。

答案 1 :(得分:0)

您可以使用名为merge的命令来组合两个数据表。

如果此数据来自数据库,您可以考虑使用联合查询或任何其他选项来组合数据或获取一次调用中的所有数据。