读书人

datatable创建行并为行赋值(列已固

发布时间: 2012-03-18 13:55:38 作者: rapoo

datatable创建行,并为行赋值(列已固定)
如题,我在尝试为新建行赋值时失败,不提示错误,就是无法赋值
DataRow dr = dt.NewRow();
dr["要素类型"] = GElist[i].ElName;
dt.Rows.Add(dr);
等号右边的值是“线”,结果得到的单元格的值是“要素类型”……
疯了……

[解决办法]
private void showData()
3 {
4 DataTable dt = new DataTable("OneEmployee");
5 dt.Columns.Add("Caption", System.Type.GetType("System.String"));
6 dt.Columns.Add("Department", System.Type.GetType("System.String"));
8
9 DataRow dr = dt.NewRow();
10 dr["Caption"] = list[i].Name;
11 dr["Department"] = list[i].Department;
14 dt.Rows.Add(dr);
15
17 }
[解决办法]
FROM MSDN:

C# code
private void CreateNewDataRow(){    // Use the MakeTable function below to create a new table.    DataTable table;    table = MakeNamesTable();    // Once a table has been created, use the     // NewRow to create a DataRow.    DataRow row;    row = table.NewRow();    // Then add the new row to the collection.    row["fName"] = "John";    row["lName"] = "Smith";    table.Rows.Add(row);    foreach(DataColumn column in table.Columns)        Console.WriteLine(column.ColumnName);    dataGrid1.DataSource=table;}private DataTable MakeNamesTable(){    // Create a new DataTable titled 'Names.'    DataTable namesTable = new DataTable("Names");     // Add three column objects to the table.    DataColumn idColumn = new  DataColumn();    idColumn.DataType = System.Type.GetType("System.Int32");    idColumn.ColumnName = "id";    idColumn.AutoIncrement = true;    namesTable.Columns.Add(idColumn);    DataColumn fNameColumn = new DataColumn();    fNameColumn.DataType = System.Type.GetType("System.String");    fNameColumn.ColumnName = "Fname";    fNameColumn.DefaultValue = "Fname";    namesTable.Columns.Add(fNameColumn);    DataColumn lNameColumn = new DataColumn();    lNameColumn.DataType = System.Type.GetType("System.String");    lNameColumn.ColumnName = "LName";    namesTable.Columns.Add(lNameColumn);    // Create an array for DataColumn objects.    DataColumn [] keys = new DataColumn [1];    keys[0] = idColumn;    namesTable.PrimaryKey = keys;    // Return the new DataTable.    return namesTable;}
[解决办法]
C# code
  DataRow dr = dt.NewRow();  dr["要素类型"] = GElist[i].ElName;//你确定这里的值是“线”?  dt.Rows.Add(dr); 

读书人网 >C#

热点推荐