现今我有了两个DataTable想添加到DataSet中,然后给两个表建立关系(relation)。
比如:
DataSet.Relations.Add("rel",Tablename[1],Tablename[2],true);现在我现有的两个datatable怎么样才能填充到DataSet中呢?感谢各位,顶者有分。
比如:
DataSet.Relations.Add("rel",Tablename[1],Tablename[2],true);现在我现有的两个datatable怎么样才能填充到DataSet中呢?感谢各位,顶者有分。
解决方案 »
- ibatisnet结合log4net日志
- 类库无法使用WebConfigurationManager吗?怎样解决?
- 多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。
- 好久没有来了啊?今天就散点分出去啊!
- 我想在删除的时候根据用户的权限决定是否继续删除,该怎么做,新手一个,请教大家!
- c#中的unchecked在vb中怎么写
- 关于表单传参的一个小小的疑问!
- 怎么记录在线人数? 急
- showModalDialog中有一个ASP.net做的按扭点击时为什么总出新窗口?注意是ie5
- vs2013调试报错
- 一个基本的.NET问题~~没办法要散分了~~~多答多得~~不够再加
- 请教:服务器控件visible属性设置了false之后,在js中怎样再显示出来
ds.tables.add(dt) ''添加datatable.这里dt为datatable的变量
ds.tables.add(dt2)
这样则可
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
ds.Tables.Add(dt1);
ds.Tables.Add(dt2);
ds.tables.add(dt) ''添加datatable.这里dt为datatable的变量
ds.tables.add(dt2)
DataSet.Relations.Add("rel",dt.Columns[""],dt2.Columns[""],true);
和
关系实例都加到DataSet中,
其中关系要指明两个表的主外键关系
=============
实际上是把dataset里的datatable拌定到datagrid的
你可以
datagird1.datasource=ds.tables(索引)
或者
datagird1.datasource=ds.tables("表名")
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
ds.Tables.Add(dt1);
ds.Tables.Add(dt2);> Just so simple!
or
myset.tables.add(table1)
不错,我是想把两个表添加到同一个dataset,两个表的关系同过relation指定。
dataset最终要绑定到datagrid中。
dg.DataSource = dataset;
DataGrid控件可以显示多张表.
http://dotnet.aspx.cc/ShowDetail.aspx?id=149E5DD7-3B32-461e-ACC6-51D1652E6746
dt=dTabe();//调用的函数
ds.Tables.Add(dt);
ds.Relations.Add("rel",ds.Tables[0].Columns["name"],dt.Columns["name"],true);
dg.DataSource=ds.Tables[0].DefaultView;
dg.DataBind();
我应该如何在Datagrid把这两个表显示出来?
Private Sub MakeDataTables()
' Run all of the functions.
MakeParentTable()
MakeChildTable()
MakeDataRelation()
BindToDataGrid()
End Sub
Private Sub MakeParentTable()
' Create a new DataTable.
Dim myDataTable As DataTable = new DataTable("ParentTable")
' Declare variables for DataColumn and DataRow objects.
Dim myDataColumn As DataColumn
Dim myDataRow As DataRow
' 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.
Dim PrimaryKeyColumns(0) As DataColumn
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
Dim i As Integer
For i = 0 to 2
myDataRow = myDataTable.NewRow()
myDataRow("id") = i
myDataRow("ParentItem") = "ParentItem " + i.ToString()
myDataTable.Rows.Add(myDataRow)
Next i
End Sub
Private Sub MakeChildTable()
' Create a new DataTable.
Dim myDataTable As DataTable = New DataTable("childTable")
Dim myDataColumn As DataColumn
Dim myDataRow As DataRow
' 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.
Dim i As Integer
For i = 0 to 4
myDataRow = myDataTable.NewRow()
myDataRow("childID") = i
myDataRow("ChildItem") = "Item " + i.ToString()
myDataRow("ParentID") = 0
myDataTable.Rows.Add(myDataRow)
Next i
For i = 0 to 4
myDataRow = myDataTable.NewRow()
myDataRow("childID") = i + 5
myDataRow("ChildItem") = "Item " + i.ToString()
myDataRow("ParentID") = 1
myDataTable.Rows.Add(myDataRow)
Next i
For i = 0 to 4
myDataRow = myDataTable.NewRow()
myDataRow("childID") = i + 10
myDataRow("ChildItem") = "Item " + i.ToString()
myDataRow("ParentID") = 2
myDataTable.Rows.Add(myDataRow)
Next i
End Sub
Private Sub MakeDataRelation()
' DataRelation requires two DataColumn (parent and child) and a name.
Dim myDataRelation As DataRelation
Dim parentColumn As DataColumn
Dim childColumn As DataColumn
parentColumn = myDataSet.Tables("ParentTable").Columns("id")
childColumn = myDataSet.Tables("ChildTable").Columns("ParentID")
myDataRelation = new DataRelation("parent2Child", parentColumn, childColumn)
myDataSet.Tables("ChildTable").ParentRelations.Add(myDataRelation)
End Sub
Private Sub BindToDataGrid()
' Instruct the DataGrid to bind to the DataSet, with the
' ParentTable as the topmost DataTable.
DataGrid1.SetDataBinding(myDataSet,"ParentTable")
End Sub