datatable 创建列赋值_如何给已经有数据的DataTable动态增加一列并赋值
时间: 2024-03-15 21:45:07 浏览: 49
你可以使用DataTable的Columns.Add()方法来动态增加一列,然后使用循环遍历DataTable中的每一行,为新列赋值。
例如,假设你有一个名为dt的DataTable,其中有两列Name和Age,你想要动态增加一列Gender,并为每一行赋值。你可以使用以下代码:
```
// 添加新列
dt.Columns.Add("Gender", typeof(string));
// 遍历每一行并为新列赋值
foreach (DataRow row in dt.Rows)
{
if (row["Age"] != DBNull.Value && (int)row["Age"] < 18)
{
row["Gender"] = "Male";
}
else
{
row["Gender"] = "Female";
}
}
```
这将为每一行根据Age列的值动态赋值Gender列。
相关问题
C# 给某一列赋值 不含表头
可以使用以下代码给某一列赋值,假设要给名为 "ColumnName" 的列赋值:
```csharp
DataTable dt = new DataTable();
// 假设 dt 中已经有数据,并且有一列名为 "ColumnName"
foreach (DataRow dr in dt.Rows)
{
// 给名为 "ColumnName" 的列赋值
dr["ColumnName"] = "new value";
}
```
首先,我们创建一个 DataTable 对象 dt,并假设它中已经有数据,并且有一列名为 "ColumnName"。然后,我们使用 foreach 循环遍历 dt 中的每一行数据,并使用 dr["ColumnName"] 语法给名为 "ColumnName" 的列赋值。注意,这里不包括表头。
遍历DataTable并且赋值给PageGridData集合
假设你有一个名为PageGridData的List集合,它的类型为PageGridDataItem,每个PageGridDataItem包含了需要的属性。你可以使用以下代码遍历DataTable,并将每一行的数据赋值给一个PageGridDataItem对象,然后将这个对象添加到PageGridData集合中:
```csharp
List<PageGridDataItem> PageGridData = new List<PageGridDataItem>();
foreach (DataRow row in dataTable.Rows)
{
PageGridDataItem item = new PageGridDataItem
{
Property1 = row["Column1"].ToString(),
Property2 = Convert.ToInt32(row["Column2"]),
Property3 = Convert.ToDateTime(row["Column3"])
};
PageGridData.Add(item);
}
```
其中,Column1、Column2、Column3是你的DataTable中的列名,Property1、Property2、Property3是你的PageGridDataItem对象中的属性名,你需要根据实际情况进行修改。这段代码会遍历DataTable中的每一行,将每一列的数值赋值给一个PageGridDataItem对象,然后将这个对象添加到PageGridData集合中。