在此情况下:
List <productModel> products
-这个
有80列... DataTable productsColumnsNames
,用户可以在其中确定希望稍后在DataGrid中看到的列。 我在网上阅读了很多,我播了几种不同的解决方案,但没有一个解决我的问题...
一种解决方案是该解决方案(来自ListView的其他示例),当然不能与List一起使用,但是可以为我的代码进行修改很有用
var columnNames = new List<string> { colName1, colName3, colName3 };
var columnsToDelete = productsa.Where(c => !columnNames.Contains(c.Name));
foreach (var column in columnsToDelete)
{
ResultsLogTab_ListView.Columns.Remove(column);
}
答案 0 :(得分:0)
您正在使用列名过滤产品列表。仅当您要排除某些产品时,才应过滤产品列表。
在这种情况下,您可以创建仅包含必需列的新列表,并将所有行从第一个列表复制到第二个列表。您也可以使用自动映射器来映射两个列表,但是第二个列表需要首先定义。