datatable java_创建DataTable对象

// Put the next line into the Declarations section

// Put the next line into the Declarations section.

private System.Data.DataSet dataSet;

private void MakeDataTables()

{

// Run all of the functions.

MakeParentTable();

MakeChildTable();

MakeDataRelation();

BindToDataGrid();

}

private void MakeParentTable()

{

// Create a new DataTable.

System.Data.DataTable table = new DataTable("ParentTable");

// Declare variables for DataColumn and DataRow objects.

DataColumn column;

DataRow row;

// Create new DataColumn, set DataType,

// ColumnName and add to DataTable.

column = new DataColumn();

column.DataType = System.Type.GetType("System.Int32");

column.ColumnName = "id";

column.ReadOnly = true;

column.Unique = true;

// Add the Column to the DataColumnCollection.

table.Columns.Add(column);

// Create second column.

column = new DataColumn();

column.DataType = System.Type.GetType("System.String");

column.ColumnName = "ParentItem";

column.AutoIncrement = false;

column.Caption = "ParentItem";

column.ReadOnly = false;

column.Unique = false;

// Add the column to the table.

table.Columns.Add(column);

// Make the ID column the primary key column.

DataColumn[] PrimaryKeyColumns = new DataColumn[1];

PrimaryKeyColumns[0] = table.Columns["id"];

table.PrimaryKey = PrimaryKeyColumns;

// Instantiate the DataSet variable.

dataSet = new DataSet();

// Add the new DataTable to the DataSet.

dataSet.Tables.Add(table);

// Create three new DataRow objects and add

// them to the DataTable

for (int i = 0; i<= 2; i++)

{

row = table.NewRow();

row["id"] = i;

row["ParentItem"] = "ParentItem " + i;

table.Rows.Add(row);

}

}

private void MakeChildTable()

{

// Create a new DataTable.

DataTable table = new DataTable("childTable");

DataColumn column;

DataRow row;

// Create first column and add to the DataTable.

column = new DataColumn();

column.DataType= System.Type.GetType("System.Int32");

column.ColumnName = "ChildID";

column.AutoIncrement = true;

column.Caption = "ID";

column.ReadOnly = true;

column.Unique = true;

// Add the column to the DataColumnCollection.

table.Columns.Add(column);

// Create second column.

column = new DataColumn();

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);

// Create third column.

column = new DataColumn();

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);

// Create three sets of DataRow objects,

// five rows each, and add to DataTable.

for(int i = 0; i <= 4; i ++)

{

row = table.NewRow();

row["childID"] = i;

row["ChildItem"] = "Item " + i;

row["ParentID"] = 0 ;

table.Rows.Add(row);

}

for(int i = 0; i <= 4; i ++)

{

row = table.NewRow();

row["childID"] = i + 5;

row["ChildItem"] = "Item " + i;

row["ParentID"] = 1 ;

table.Rows.Add(row);

}

for(int i = 0; i <= 4; i ++)

{

row = table.NewRow();

row["childID"] = i + 10;

row["ChildItem"] = "Item " + i;

row["ParentID"] = 2 ;

table.Rows.Add(row);

}

}

private void MakeDataRelation()

{

// DataRelation requires two DataColumn

// (parent and child) and a name.

DataColumn parentColumn =

dataSet.Tables["ParentTable"].Columns["id"];

DataColumn childColumn =

dataSet.Tables["ChildTable"].Columns["ParentID"];

DataRelation relation = new

DataRelation("parent2Child", parentColumn, childColumn);

dataSet.Tables["ChildTable"].ParentRelations.Add(relation);

}

private void BindToDataGrid()

{

// Instruct the DataGrid to bind to the DataSet, with the

// ParentTable as the topmost DataTable.

dataGrid1.SetDataBinding(dataSet,"ParentTable");

}

本文由来源 21aspnet,由 system_mush 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值