永发信息网

datagridview如何将父表和子表合并显示?

答案:2  悬赏:40  手机版
解决时间 2021-12-31 00:29
  • 提问者网友:酱爆肉
  • 2021-12-30 17:25
Dataset中有两个表,主键相同。 Dim strConn, strSQL As String Dim Conn As New OracleConnection Dim DataSet01 As New DataSet Dim Adapter01 As New OracleDataAdapter() Dim Col01, Col02 As Data.DataColumn Dim Table01, Table02 As New DataTable '从远程服务器提取人员列表 strConn = " data source=server1; user=scott; pwd=syspassword888 " Conn.ConnectionString = strConn Conn.Open() strSQL = "SELECt * FROM LIST" Adapter01.SelectCommand = New OracleCommand(strSQL, Conn) Adapter01.Fill(Table01) Conn.Close() '从本地服务器提取合计数量 strConn = " data source=server2 ; user=scott; pwd=tigeruser " Conn.ConnectionString = strConn Conn.Open() strSQL = "SELECT NAME, SUM(QUANTITY) FROM SOTRE GROUP BY NAME" Adapter01 = New OracleDataAdapter(strSQL, Conn) Adapter01.Fill(Table02) DataSet01.Tables.Add(Table01) DataSet01.Tables.Add(Table02) Col01 = DataSet01.Tables(0).Columns.Item("NAME") Col02 = DataSet01.Tables(1).Columns.Item("NAME") '设定主从表关联,不是所有主表都有对应的数据,因此约束不为真 DataSet01.Relations.Add("reconn", Col01, Col02, False) 问:如何将其关联在一起在datagridview控件上显示?空值如何处理,能否正常响应用户的排序和选取?能否在自动生成行号?
最佳答案
  • 五星知识达人网友:鸠书
  • 2021-12-30 17:31
关键代码
父表
SqlDataAdapter sda = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand(strSQL, myConn);
sda.SelectCommand = cmd;
sda.Fill(ds, "Parents");
子表
SqlDataAdapter sda2 = new SqlDataAdapter();
SqlCommand cmd2 = new SqlCommand(strSQL2, myConn);
sda2.SelectCommand = cmd2;
sda2.Fill(ds, "Sons");
建立关系
System.Data.DataRelation dataRelation;
System.Data.DataColumn dataColumn1;
System.Data.DataColumn dataColumn2;

dataColumn1 = ds.Tables["Parents"].Columns["YBID"];//设定表关系
dataColumn2 = ds.Tables["Sons"].Columns["标准样板ID"];
dataRelation = new System.Data.DataRelation("ParentsSons", dataColumn1, dataColumn2);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯