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

时间:2014-04-24 21:15:43

标签: c# asp.net

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

3 个答案:

答案 0 :(得分:1)

这是一个选项

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

答案 1 :(得分:1)

以下代码在数据表中动态添加列和行:

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);
}

答案 2 :(得分:0)

你也可以试试这个。

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