首页 > 解决方案 > 如何约束 2 DataTable 列名称

问题描述

我寻找一种最简单的方法来约束两个 DataTable 的列名......

这是我的代码:

DataTable productsAllColums = ....;
DataTable productsJustColumnsToView = ...;
// they both imported from db and both have same stucture

                for (int i = 0; i < productsAllColums.Columns.Count; i++)
                {
                    for (int k = 0; k < productsJustColumnsToView.Columns.Count; k++)
                    {
                        if (productsAllColums.Columns[i].ColumnName == productsJustColumnsToView.Columns[k].ColumnName)
                            break;
                        else
                            productsAllColums.Columns.RemoveAt(i);
                    }
                }

这个解决方案真的不起作用......

更新更多示例:

DataTable productsAllColums 有列(名称):col1, col2, col3, col4, col5 .... ab 到 col60

DataTable productsJustColumnsToView 有(名称)col3, col 14, col22

我的所有数据都已经在 productsAllColums 中,所以我的想法......只需删除客户不喜欢看到的列;-)

标签: c#datatable

解决方案


要拥有有限列的表,您可以使用DataView.ToTable方法。但是,如果您不需要其他数据,也许值得重构不首先选择它们?


推荐阅读