简体   繁体   English

如何在c#中的数据表中动态添加列

[英]How to add column dynamically in datatable in c#

我想创建数据表,我想在其中动态添加列名,我的列名来自数据库,每次不同时都不是固定的列名,这取决于我使用 sql server 和 c# 的用户选择。

Here is an option这是一个选项

var dt = new DataTable();
dt.Columns.Add("Name",typeof(string));

Following code add column and row dynamically in the datatable:以下代码在数据表中动态添加列和行:

DataTable dt = new DataTable();
var properties = typeof(model).GetProperties();

foreach (PropertyInfo p in properties)
{
    dt.Columns.Add(p.Name, p.PropertyType);
}

foreach (var data in taskData)
{
   var values = new object[properties.Length];
   for (int i = 0; i < properties.Length; i++)
   {
       values[i] = properties[i].GetValue(data, null);
   }
   dt.Rows.Add(values);
}

you may also try this one.你也可以试试这个。

var dt = new DataTable();
DataColumn column = new DataColumn();
{
     column.Caption = "Name";
     column.ColumnName = "ColumnName";
     column.DataType = typeof(String);
     dt.Columns.Add(column);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM