将datagridview与数据表进行比较

时间:2012-06-18 08:28:57

标签: c# asp.net datagridview datatable

我需要将gridview与datatable进行比较,当匹配时我需要检查复选框控件匹配的确切行。所以有人能就此发表看法吗?

目前我正在使用 foreach() datatable.select()。  并且代码在这里..

 foreach (GridViewRow grdrwCr /*dtrwCr1*/ in grdCr.Rows /*&dtCr1.Rows*/)
        {string TxnNo = grdrwCr.Cells["TxnNo"].ToString();
            string TxnDate = grdrwCr.Cells["TxnDate"].ToString();
            string TxnID = grdrwCr.Cells["TxnID"].ToString();
            string ChequeNo = grdrwCr.Cells["ChequeNo"].ToString();
            string CrAmount = grdrwCr.Cells["lblCrAmount"].ToString();

2 个答案:

答案 0 :(得分:0)

在第一次绑定控件时,必须为gridview中的每一行打印主键(可见= false的列)。

在用户选择复选框或行的第二次时,您将获取与事件对应的主键。

并使用主键,,,您可以在数据表中选择您的数据。

答案 1 :(得分:0)

只是一个想法。 如果你可以将GridView与dataTable绑定为数据源,那么你可以合并这2个数据表并检查行状态决定复选框逻辑。

用于合并2个数据表的MSDN链接 - http://msdn.microsoft.com/en-us/library/fk68ew7b.aspx

已在以下链接中讨论过 - C# - Merge two DataTables where rows are duplicate

var intersection = table1.AsEnumerable() 
                         .Intersect(table2.AsEnumerable(), DataRowComparer.Default);