如何从字符串列表中的名称和类型动态创建 DataTable 列? [复制]

Posted

技术标签:

【中文标题】如何从字符串列表中的名称和类型动态创建 DataTable 列? [复制]【英文标题】:How to dynamically create DataTable columns from names and types in lists of strings? [duplicate] 【发布时间】:2021-10-20 13:49:34 【问题描述】:

我想向现有的DataTable 添加列。

但是,新列的名称和类型来自字符串列表。

ColumnName_list = FieldX, FieldY ...

ColumnType_list = Sistem.String, System.Decimal ...

两个列表之间的顺序总是相关的。

我正在尝试使用下面的代码,但是得到类型错误转换

t = 0;
foreach (var name in ColumnName_list)  
   
    dt1.Columns.Add(name, ColumnType_list[t]);
    t++;

第 27 行的编译器错误:无法从 'string' 转换为 'System.Type'

其中Dt1Datatable

感谢和问候。

【问题讨论】:

System.Type 听起来像是数据类型列表的条目错误,或者您的代码可能正在解释标题。调试和检查。希望Sistem.String 只是一个发帖神器 【参考方案1】:

你可以试试

    t = 0;
    foreach (var name in ColumnName_list)  
       
     dt1.Columns.Add(name, typeof(ColumnType_list[t]) );
     t++;
    

你尝试后能否分享结果

祝你有美好的一天

【讨论】:

这会返回另一个错误。说我缺少“)”或“;”。

以上是关于如何从字符串列表中的名称和类型动态创建 DataTable 列? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何从动态列表创建临时表

如何从数组动态创建复选框列表?

类型列表动态不是类型映射字符串动态的子类型

如何制作动态表

如何从动态列表中为 Vue 中的 API 响应创建列表渲染 JSON?

如何创建多个从同一个数组中获取值的动态下拉列表,而无需更改 Javascript 中的其他下拉列表