//PutthenextlineintotheDeclarationssection. privateSystem.Data.DataSetdataSet; privatevoidMakeDataTables() { //Runallofthefunctions. MakeParentTable(); MakeChildTable(); MakeDataRelation(); BindToDataGrid(); } privatevoidMakeParentTable() { //CreateanewDataTable. System.Data.DataTabletable=newDataTable("ParentTable"); //DeclarevariablesforDataColumnandDataRowobjects. DataColumncolumn; DataRowrow; //CreatenewDataColumn,setDataType, //ColumnNameandaddtoDataTable. column=newDataColumn(); column.DataType=System.Type.GetType("System.Int32"); column.ColumnName="id"; column.ReadOnly=true; column.Unique=true; //AddtheColumntotheDataColumnCollection. table.Columns.Add(column); //Createsecondcolumn. column=newDataColumn(); column.DataType=System.Type.GetType("System.String"); column.ColumnName="ParentItem"; column.AutoIncrement=false; column.Caption="ParentItem"; column.ReadOnly=false; column.Unique=false; //Addthecolumntothetable. table.Columns.Add(column); //MaketheIDcolumntheprimarykeycolumn. DataColumn[]PrimaryKeyColumns=newDataColumn[1]; PrimaryKeyColumns[0]=table.Columns["id"]; table.PrimaryKey=PrimaryKeyColumns; //InstantiatetheDataSetvariable. dataSet=newDataSet(); //AddthenewDataTabletotheDataSet. dataSet.Tables.Add(table); //CreatethreenewDataRowobjectsandadd //themtotheDataTable for(inti=0;i<=2;i++) { row=table.NewRow(); row["id"]=i; row["ParentItem"]="ParentItem"+i; table.Rows.Add(row); } } privatevoidMakeChildTable() { //CreateanewDataTable. DataTabletable=newDataTable("childTable"); DataColumncolumn; DataRowrow; //CreatefirstcolumnandaddtotheDataTable. column=newDataColumn(); column.DataType=System.Type.GetType("System.Int32"); column.ColumnName="ChildID"; column.AutoIncrement=true; column.Caption="ID"; column.ReadOnly=true; column.Unique=true; //AddthecolumntotheDataColumnCollection. table.Columns.Add(column); //Createsecondcolumn. column=newDataColumn(); column.DataType=System.Type.GetType("System.String"); column.ColumnName="ChildItem"; column.AutoIncrement=false; column.Caption="ChildItem"; column.ReadOnly=false; column.Unique=false; table.Columns.Add(column); //Createthirdcolumn. column=newDataColumn(); column.DataType=System.Type.GetType("System.Int32"); column.ColumnName="ParentID"; column.AutoIncrement=false; column.Caption="ParentID"; column.ReadOnly=false; column.Unique=false; table.Columns.Add(column); dataSet.Tables.Add(table); //CreatethreesetsofDataRowobjects, //fiverowseach,andaddtoDataTable. for(inti=0;i<=4;i++) { row=table.NewRow(); row["childID"]=i; row["ChildItem"]="Item"+i; row["ParentID"]=0; table.Rows.Add(row); } for(inti=0;i<=4;i++) { row=table.NewRow(); row["childID"]=i+5; row["ChildItem"]="Item"+i; row["ParentID"]=1; table.Rows.Add(row); } for(inti=0;i<=4;i++) { row=table.NewRow(); row["childID"]=i+10; row["ChildItem"]="Item"+i; row["ParentID"]=2; table.Rows.Add(row); } } privatevoidMakeDataRelation() { //DataRelationrequirestwoDataColumn //(parentandchild)andaname. DataColumnparentColumn= dataSet.Tables["ParentTable"].Columns["id"]; DataColumnchildColumn= dataSet.Tables["ChildTable"].Columns["ParentID"]; DataRelationrelation=new DataRelation("parent2Child",parentColumn,childColumn); dataSet.Tables["ChildTable"].ParentRelations.Add(relation); } privatevoidBindToDataGrid() { //InstructtheDataGridtobindtotheDataSet,withthe //ParentTableasthetopmostDataTable. dataGrid1.SetDataBinding(dataSet,"ParentTable"); }
创建DataTable对象
最新推荐文章于 2023-07-05 19:04:53 发布