循环的DataTable纵列

我有一个数据表,其包含以下格式的数据: 让我们命名此数据表为DT1循环的DataTable纵列

ColumnA  ColumnB  ColumnC 

-------------------------------------

President Manager President

Manager

在上面的数据表中的数据提供了选择的权力选择的目的为在web窗体上的清单。当在清单中的项目进行检查,并点击一个按钮时,我插入检查的项目到另一个数据表,如下图所示: 让我们命名这个数据表作为DT2

---------- 

Manager

President

Manager

现在我需要从列名DT1(第一数据表),其中在DT2 occurs.For示例的dataitems,在这种情况下我的要求输出到另一个数据表(比如说DT3)。将

-------- 

ColumnB

ColumnC

ColumnC

在该数据表(DT3)“ColummB”被包括作为dt2(包含核对清单中的检查文本)具有数据项'Manager',其出现在dt1中的'ColumnB'下; 'ColumnC'出现两次,因为dt2包含'President'和'Manager',它出现在dt1的'ColumnC'下。

我需要一个有效的循环(最好coulmnwise为dt1),以便我可以比较dt1和dt2的值并将它们添加到dt3。请注意,dt1和dt2中的数据项不是固定的,因为dt1包含来自数据库的数据,而dt2已从表单中检查了值。最后,dt3的行数应该等于dt2的行数(或者)可以将新列添加到dt2,而不是创建dt3(仍保持相同的行数)。

回答:

一个想法可以通过数据表的每一行和一列循环。
然后通过第二个数据表值循环
如果值匹配选择列名称。

下面是公正的想法,你可以做什么

DataTable dt1; 

DataTable dt2;

DataTable dt3;

string[] ar=new string....

foreach (DataRow dr in dt1.Rows)

{

foreach (DataColumn clm in dt1.Columns)

{

//loop through each value of the other table

foreach(DataRow drow in dt2.Rows)

{

string value = drow[0].ToString();

if(value==clm)

{

//add the column name into a array

DataRow row = dt3.NewRow();

row[0]=clm.ColumnName;

dt3.Rows.Add(row);

break;

}

}

}

}

以上是 循环的DataTable纵列 的全部内容, 来源链接: utcz.com/qa/259005.html

回到顶部