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)