尝试根据属性类型从DataTable中删除特定列

时间:2019-04-22 14:28:41

标签: c# datatables propertydescriptor

除了使用let array = [1, 2, 3]; array.push([4, 5, 6]); console.log(array); // [1, 2, 3, [4, 5, 6]] array = array.concat([7, 8, 9]); console.log(array); // [1, 2, 3, [4, 5, 6], 7, 8, 9] array = [...array, ...[10, 11, 12]]; console.log(array); // [1, 2, 3, [4, 5, 6], 7, 8, 9, 10, 11, 12] array.push(13, 14, 15); array = array.flat(); console.log(array); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]之外,我试图以与添加列相同的方式删除特定类型的列

我正在使用linq来获取prop类型,然后使用.Columns.Remove()来删除列。我收到错误消息:

  

严重性代码描述项目文件行抑制状态   错误CS1503参数1:无法从'System.Collections.Generic.IEnumerable'转换为'System.Data.DataColumn'Fabitrack C:\ data \ repositories \ FABITrack \ Fabitrack \ Models \ ReportBusinessLogic.cs 141有效

下面是我的代码:

forEach()

万一有人好奇我如何添加到表中,下面是一些代码。

//*Removing DOB from XLS file columns*/
var dob = from PropertyDescriptor props in pvPersonProps
    where props.PropertyType.Name.Contains("dob")
    select props.PropertyType;
foreach(PropertyDescriptor prop in pvPersonProps) {
    table.Columns.Remove(dob);
}

1 个答案:

答案 0 :(得分:1)

dob是您的情况下的收藏集。

因此您可以执行以下操作:

foreach (var dobItem in dob)
{
     table.Columns.Remove(dobItem);
}

var dob = (from PropertyDescriptor props in pvPersonProps
              where props.PropertyType.Name.Contains("dob")
              select props.PropertyType).First();

foreach (PropertyDescriptor prop in pvPersonProps)
{
    table.Columns.Remove(dob);
}