c# - 如何约束 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 中,所以我的想法......只需删除客户不喜欢看到的列;-)
解决方案
要拥有有限列的表,您可以使用DataView.ToTable方法。但是,如果您不需要其他数据,也许值得重构不首先选择它们?
推荐阅读
- powershell - Write-Verbose 如何从 Invoke-Sqlcmd 生成记录数?
- nested - 如果值以(嵌套或要进行多次替换)开头,则 Excel Power Query 替换值
- python - 数据框行切片不一致
- python - 使用 Ray 进行加入或分组操作
- react-native - 在 React-Native Android 中,有没有办法从 ViewManager 获取组件的高度/宽度?
- google-apps-script - 如何将来自 Google 工作表的电子邮件添加为 Google 日历上的受邀者?
- sas - 保持或删除功能如何在 SAS 中工作?
- ios - 使用 GeometryProxy.named() 似乎总是匹配 .global 或 .local
- android - 如何将 userId 从 android 发送到 Unity?
- data-science - AWS Sagemaker + Quicksight 上的机器学习模型作为前端