datatable使用参考

来源:互联网 发布:js正则表达式匹配汉字 编辑:程序博客网 时间:2024/05/20 05:05

DataTable:
   Dim Dt As New DataTable
   Dim Dtcopy As New DataTable
'======以下是先填數去dt這個table
Dim DtCon(1) As DataColumn
Dim DtRow As DataRow
DtCon(0) = New DataColumn("name", Type.GetType("System.String"))
DtCon(1) = New DataColumn("age", Type.GetType("System.Int32"))
Dt.Columns.AddRange(DtCon)
For i As Integer = 0 To 8
DtRow = Dt.NewRow
DtRow(0) = i
Dt.Rows.Add(DtRow)
Next
   
'复制数据
Dim com As DataColumn
com = New DataColumn
com.ColumnName = "name"
Type.GetType("string")
Dtcopy.Columns.Add(com)
Dim row As DataRow

For i As Integer = 0 To Dt.Rows.Count - 1
row = Dtcopy.NewRow
row(0) = Dt.Rows(i).Item(0)
Dtcopy.Rows.Add(row)
Next
 

 C#]
// Put the next line into the Declarations section.
 private System.Data.DataSet myDataSet;
 
 private void MakeDataTables(){
    // Run all of the functions.
    MakeParentTable();
    MakeChildTable();
    MakeDataRelation();
    BindToDataGrid();
 }
 
 private void MakeParentTable(){
    // Create a new DataTable.
    System.Data.DataTable myDataTable = new DataTable("ParentTable");
    // Declare variables for DataColumn and DataRow objects.
    DataColumn myDataColumn;
    DataRow myDataRow;
 
    // Create new DataColumn, set DataType, ColumnName and add to DataTable.   
    myDataColumn = new DataColumn();
    myDataColumn.DataType = System.Type.GetType("System.Int32");
    myDataColumn.ColumnName = "id";
    myDataColumn.ReadOnly = true;
    myDataColumn.Unique = true;
    // Add the Column to the DataColumnCollection.
    myDataTable.Columns.Add(myDataColumn);
 
    // Create second column.
    myDataColumn = new DataColumn();
    myDataColumn.DataType = System.Type.GetType("System.String");
    myDataColumn.ColumnName = "ParentItem";
    myDataColumn.AutoIncrement = false;
    myDataColumn.Caption = "ParentItem";
    myDataColumn.ReadOnly = false;
    myDataColumn.Unique = false;
    // Add the column to the table.
    myDataTable.Columns.Add(myDataColumn);
 
    // Make the ID column the primary key column.
    DataColumn[] PrimaryKeyColumns = new DataColumn[1];
    PrimaryKeyColumns[0] = myDataTable.Columns["id"];
    myDataTable.PrimaryKey = PrimaryKeyColumns;
 
    // Instantiate the DataSet variable.
    myDataSet = new DataSet();
    // Add the new DataTable to the DataSet.
    myDataSet.Tables.Add(myDataTable);
 
    // Create three new DataRow objects and add them to the DataTable
    for (int i = 0; i<= 2; i++){
       myDataRow = myDataTable.NewRow();
       myDataRow["id"] = i;
       myDataRow["ParentItem"] = "ParentItem " + i;
       myDataTable.Rows.Add(myDataRow);
    }
 }
 
 private void MakeChildTable(){
    // Create a new DataTable.
    DataTable myDataTable = new DataTable("childTable");
    DataColumn myDataColumn;
    DataRow myDataRow;
 
    // Create first column and add to the DataTable.
    myDataColumn = new DataColumn();
    myDataColumn.DataType= System.Type.GetType("System.Int32");
    myDataColumn.ColumnName = "ChildID";
    myDataColumn.AutoIncrement = true;
    myDataColumn.Caption = "ID";
    myDataColumn.ReadOnly = true;
    myDataColumn.Unique = true;
    // Add the column to the DataColumnCollection.
    myDataTable.Columns.Add(myDataColumn);
 
    // Create second column.
    myDataColumn = new DataColumn();
    myDataColumn.DataType= System.Type.GetType("System.String");
    myDataColumn.ColumnName = "ChildItem";
    myDataColumn.AutoIncrement = false;
    myDataColumn.Caption = "ChildItem";
    myDataColumn.ReadOnly = false;
    myDataColumn.Unique = false;
    myDataTable.Columns.Add(myDataColumn);
 
    // Create third column.
    myDataColumn = new DataColumn();
    myDataColumn.DataType= System.Type.GetType("System.Int32");
    myDataColumn.ColumnName = "ParentID";
    myDataColumn.AutoIncrement = false;
    myDataColumn.Caption = "ParentID";
    myDataColumn.ReadOnly = false;
    myDataColumn.Unique = false;
    myDataTable.Columns.Add(myDataColumn);
 
    myDataSet.Tables.Add(myDataTable);
    // Create three sets of DataRow objects, five rows each, and add to DataTable.
    for(int i = 0; i <= 4; i ++){
       myDataRow = myDataTable.NewRow();
       myDataRow["childID"] = i;
       myDataRow["ChildItem"] = "Item " + i;
       myDataRow["ParentID"] = 0 ;
       myDataTable.Rows.Add(myDataRow);
    }
    for(int i = 0; i <= 4; i ++){
       myDataRow = myDataTable.NewRow();
       myDataRow["childID"] = i + 5;
       myDataRow["ChildItem"] = "Item " + i;
       myDataRow["ParentID"] = 1 ;
       myDataTable.Rows.Add(myDataRow);
    }
    for(int i = 0; i <= 4; i ++){
       myDataRow = myDataTable.NewRow();
       myDataRow["childID"] = i + 10;
       myDataRow["ChildItem"] = "Item " + i;
       myDataRow["ParentID"] = 2 ;
       myDataTable.Rows.Add(myDataRow);
    }
 }
 
 private void MakeDataRelation(){
    // DataRelation requires two DataColumn (parent and child) and a name.
    DataRelation myDataRelation;
    DataColumn parentColumn;
    DataColumn childColumn;
    parentColumn = myDataSet.Tables["ParentTable"].Columns["id"];
    childColumn = myDataSet.Tables["ChildTable"].Columns["ParentID"];
    myDataRelation = new DataRelation("parent2Child", parentColumn, childColumn);
    myDataSet.Tables["ChildTable"].ParentRelations.Add(myDataRelation);
 }
 
 private void BindToDataGrid(){
    // Instruct the DataGrid to bind to the DataSet, with the
    // ParentTable as the topmost DataTable.
    dataGrid1.SetDataBinding(myDataSet,"ParentTable");
 }