[C#] private void CreateNewDataRow(){ // Use the MakeTable function below to create a new table. DataTable myTable; myTable = MakeNamesTable(); // Once a table has been created, use the NewRow to create a DataRow. DataRow myRow; myRow = myTable.NewRow(); // Then add the new row to the collection. myRow["fName"] = "John"; myRow["lName"] = "Smith"; myTable.Rows.Add(myRow);
foreach(DataColumn dc in myTable.Columns) Console.WriteLine(dc.ColumnName); dataGrid1.DataSource=myTable; }
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; }MSDN例子,看上半段好了!
DataGrid.DataSource.Rows
然后实例化一个DataRow对象
插入值去这个DataRow
然后把DataRow插入到Table
再把DataGrid.DataSourse = Table就行了
private void CreateNewDataRow(){
// Use the MakeTable function below to create a new table.
DataTable myTable;
myTable = MakeNamesTable();
// Once a table has been created, use the NewRow to create a DataRow.
DataRow myRow;
myRow = myTable.NewRow();
// Then add the new row to the collection.
myRow["fName"] = "John";
myRow["lName"] = "Smith";
myTable.Rows.Add(myRow);
foreach(DataColumn dc in myTable.Columns)
Console.WriteLine(dc.ColumnName);
dataGrid1.DataSource=myTable;
}
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;
}MSDN例子,看上半段好了!
但我的问题用代码插入一行
而不是绑定添加好的行
就类似于DropDownList的插入行一样
TableCell Cell2 ;
TableCell Cell3 ;
TableCell Cell4 ;
TableCell Cell5 ;//定义,这一行有五个字段Row = new TableRow() ;
Cell1 = new TableCell() ;
Cell1.BorderWidth = 1 ;
Cell1.Width = 50 ;
Cell1.Text = "数据" ;Cell2 = new TableCell() ;
Cell2.Text = "数据" ;
·
·Row.Cells.Add(Cell1) ;
Row.Cells.Add(Cell2) ;
·
·
DG_Type.Rows.Add(Row) ;//DG_Type为插入DataGrid的id