DataTable 객체 작성

4511 단어 Datatable
//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");
}

좋은 웹페이지 즐겨찾기