我有一个数据集,该数据集是使用WCF服务中的方法从MySQL数据库中获得的。该数据集包含我数据库中项目的列表。 这是项目列表,显示如下:
ID |名称
1 |吐司
(这是一个例子)
我想在数据集的末尾添加一个新列,如下所示:
ID |姓名|状态
1 |吐司1
我还有另一个返回int的方法。对于参数,此方法采用项目的ID。例如,Toast的id为1。因此,我使用参数1输入方法。您明白我的意思了吗?
所以我有一个包含以下内容的数据集:
ID |名称
1 |吐司
和一个包含以下内容的int: 1
因此,我想根据项目的ID添加新行。 请记住,我可以有许多其他项目,所以我需要检查任何行。
我不知道该如何进行... 感谢您的帮助。
答案 0 :(得分:0)
已经在这里回答:
Add new column and data to datatable that already contains data - c#
DataTable dt = sql.ExecuteDataTable("sp_MyProc");
dt.Columns.Add("Status", typeof(System.Int32));
foreach(DataRow row in dt.Rows)
row["Status"] = GetStatus(row["ID"]);
完整示例
void Main()
{
//setup
DataSet projects = new DataSet("ProjectsDataSet");
projects.Tables.Add(new DataTable("ProjectsTable"));
DataTable ProjectsDataTable = projects.Tables["ProjectsTable"];
ProjectsDataTable.Columns.Add("id", typeof(Int32));
ProjectsDataTable.Columns.Add("name", typeof(string));
var row1 = ProjectsDataTable.NewRow();
row1["id"] = 1;
row1["name"] = "some project name";
ProjectsDataTable.Rows.Add(row1);
//you are here
//add a column
ProjectsDataTable.Columns.Add("status", typeof(Int32));
//populate column
foreach (DataRow row in ProjectsDataTable.Rows) {
row["status"] = 123;
}
projects.Dump(); // shows result, only works in linqpad
}