根据 C#2.0 中的列值过滤 DataTable 行

Posted

技术标签:

【中文标题】根据 C#2.0 中的列值过滤 DataTable 行【英文标题】:Filter DataTable rows based on a column value in C#2.0 【发布时间】:2020-03-06 14:06:49 【问题描述】:

我有一个包含 n 行/列的数据表。我想根据只有一个字符值为“*”的列过滤行。我的版本是 C#2.0。如何过滤行并复制到新的数据表中。

此代码无效;

DataTable result = dt.Select("FLAG= '*'");

【问题讨论】:

过滤条件是单元格中只有“*”值的列 实际上无法重现 dotnetfiddle.net/SwIvlk 更新了dotnetfiddle.net/SwIvlk中的代码,现在抛出错误 我没有看到您的更改,您必须按共享按钮才能应用它们。 dotnetfiddle.net/1L1iZA 请在此处找到更新后的代码 【参考方案1】:

我通过应用这些步骤完成了这项工作。 CopyToTable 在 C#2.0 中不起作用。

通过根据条件过滤创建一个数据行数组。

string expression;
expression = "FLAG= '*' ";
DataRow[] filteredRows;

// 使用 Select 方法查找与过滤器匹配的所有行。

filteredRows= dt.Select(expression);

然后,从数据行中创建一个新的数据表

 foreach (DataRow drow in filteredRows)
                

                    dtnew.ImportRow(drow);
                

【讨论】:

以上是关于根据 C#2.0 中的列值过滤 DataTable 行的主要内容,如果未能解决你的问题,请参考以下文章

根据oracle中的列值加入表

过滤不在选择中的列值

根据第三个表中的列值删除表中的行

按 R 中的列值过滤列表中的每个数据框

C# DataTable -> 需要根据列值生成一个ID

无法按 DataTable 中的列显示过滤器