5列10行のDataTableが1つあります。次に、DataTableに1つの新しい列を追加し、DropDownList値を新しい列に割り当てます。したがって、DropDownListの値は、新しい列に10回追加する必要があります。これを行う方法?注:FOR LOOPを使用しない場合。
例:私の既存のDataTableはこのようなものです。
ID Value
----- -------
1 100
2 150
次に、このDataTableに1つの新しい列「CourseID」を追加します。 DropDownListが1つあります。選択された値は1です。したがって、My Existing Tableは次のようになります。
ID Value CourseID
----- ------ ----------
1 100 1
2 150 1
これを行う方法?
Forループなし:
Dim newColumn As New Data.DataColumn("Foo", GetType(System.String))
newColumn.DefaultValue = "Your DropDownList value"
table.Columns.Add(newColumn)
C#:
System.Data.DataColumn newColumn = new System.Data.DataColumn("Foo", typeof(System.String));
newColumn.DefaultValue = "Your DropDownList value";
table.Columns.Add(newColumn);
列を追加し、DataTable
のすべての行を更新します。次に例を示します。
DataTable tbl = new DataTable();
tbl.Columns.Add(new DataColumn("ID", typeof(Int32)));
tbl.Columns.Add(new DataColumn("Name", typeof(string)));
for (Int32 i = 1; i <= 10; i++) {
DataRow row = tbl.NewRow();
row["ID"] = i;
row["Name"] = i + ". row";
tbl.Rows.Add(row);
}
DataColumn newCol = new DataColumn("NewColumn", typeof(string));
newCol.AllowDBNull = true;
tbl.Columns.Add(newCol);
foreach (DataRow row in tbl.Rows) {
row["NewColumn"] = "You DropDownList value";
}
//if you don't want to allow null-values'
newCol.AllowDBNull = false;