gpt4 book ai didi

c# - 按列循环数据表

转载 作者:行者123 更新时间:2023-11-30 17:54:18 25 4
gpt4 key购买 nike

我有一个数据表,其中包含以下格式的数据:让我们将此数据表命名为 dt1

ColumnA       ColumnB        ColumnC
-------------------------------------
President Manager President
Manager

以上数据表中的数据作为网络表单上的核对表供选择,以供权威选择之用。当核对 list 中的项目被选中并单击按钮时,我将选中的项目插入到另一个数据表中,如下所示:让我们将此数据表命名为 dt2

 ----------
Manager
President
Manager

现在我需要从出现 dt2 中的数据项的 dt1(第一个数据表)获取列名。例如,在这种情况下,我需要输出到另一个数据表(比如 dt3)将是

--------
ColumnB
ColumnC
ColumnC

在这个数据表(dt3)中,'ColummB' 被包含在 dt2(其中包含检查表中的检查文本)具有数据项'Manager',它出现在 dt1 的'ColumnB'下; 'ColumnC' 出现两次,因为 dt2 包含 'President' 和 'Manager',它们出现在 dt1 的 'ColumnC' 下。

我需要一个高效的循环(最好是 dt1 的 coulmnwise),这样我就可以比较 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;
}
}
}
}

关于c# - 按列循环数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16160730/

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