dataTable 在运行时添加列

Posted

技术标签:

【中文标题】dataTable 在运行时添加列【英文标题】:dataTable add column in run time 【发布时间】:2019-11-02 02:01:25 【问题描述】:

大家好,我遇到了一个问题,但我不知道如何解决它

我有与视图相关的 dataTable InvoiceViewWithUserDataTable : InvoiceWithUserView (database)

我想在运行时将 2 列添加到数据表 InvoiceViewWithUserDataTable

InvoiceViewWithUserDataTable .Columns.Add("IntegrationSuccessed", GetType(Integer))
 InvoiceViewWithUserDataTable .Columns.Add("ResponseGet", GetType(String))

InvoiceViewWithUserDataTable.FillMyData(startindex, lineNumber)

Foreach(var row  in InvoiceViewWithUserDataTable)

    row.ResponseGet (error)
    row.IntegrationSuccessed (error)


但结果我无法获得这 2 列的值,即使我存储的 pro 将它们返回

【问题讨论】:

【参考方案1】:

试试这个---

InvoiceViewWithUserDataTable.Columns.Add("NewColumn", typeof(System.Int32));

foreach(InvoiceViewWithUserDataTable .Rows 中的 DataRow 行) //需要为NewColumn列设置值 行[“新列”] = 0; // 或将其设置为其他值

此外,您正在从数据库中填充数据,然后清除现有数据或创建新的数据表对象。首先,从数据库中获取数据,然后添加一个新列,然后在这些列中插入值。 另外,请参阅以下链接以获取运行时间列 Add new column and data to datatable that already contains data - c#

【讨论】:

谢谢您的回答,但我从数据库中获取数据,我不想用默认值填充它们,我的商店专业人士返回值,但我不知道我可以分配给谁 存储过程返回数据集(假设您使用的是ADO.net),数据集是数据表的集合。您可以从该表中找到值。无需创建新的数据表。在数据集中获取值的链接***.com/questions/12973773/…DataTable firstTable = dataSet.Tables[0]; docs.microsoft.com/en-us/dotnet/api/… 再次感谢您,我的数据库与视图相关的问题不包含 2 列,我创建了一个商店专业版返回视图的所有列和 2 两列我的原始视图是(加入在用户和发票之间)但现在我添加了新的表集成连接,最多返回两列(IntegrationSuccessed,ResponseGet) 加入是在我的商店亲我没有改变视图 您是否按照新的 SP 手动创建了每一列的数据表?

以上是关于dataTable 在运行时添加列的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将新列添加到 DataGridView(填充有 DataTable 的 DataGridview)

c#中datatable怎么添加列名

如何在 jQuery DataTables 中添加静态列

新建DataTable添加列添加行

将行号列添加到绑定到 DataTable 的 DataGridView

如何在 mui-datatable React.js 的第一个位置添加 SrNo (#) 列