我现在的Dataset中,通过Ds.Tables.Add(Dt1);Ds.Tables.Add(Dt2);把俩个表加进来,
建立关系
ataColumn parentCol = Ds.Tables["Task"].Columns["TaskId"];
DataColumn childCol = Ds.Tables["SendSms"].Columns["TaskId"];
DataRelation relCustOrder = new DataRelation("SendSmsTask", parentCol, childCol);
Ds.Relations.Add(relCustOrder);
也各自填充了
内容,我现在想通过DataGrid把两个表的记录都显示出来,就是先显示DT1中内容,接着显示Dt2内容,
就是像Select T1.*,T2.* From T1,T2 where T1.TaskId = T2.TaskId这个Sql查询的结果一样。不知道如何定义Ds.DataSource?(WinForm,C#)

解决方案 »

  1.   

    方法一:用union语句从后台一起检索出来
    方法二:分别取数据,先后填充到dataset中
      

  2.   

    要建立两个DataGrid(一个主表,一个明细表)。
      

  3.   

    哈哈,楼主自己都说出来了
    就是像Select T1.*,T2.* From T1,T2 where T1.TaskId = T2.TaskId这个Sql查询的结果一样。楼主只要把commantText设置成“Select T1.*,T2.* From T1,T2 where T1.TaskId = T2.TaskId”
    然后填充就可以了,这样就是一个datatable,并把这个datatable设置成dataGrid的DataSource就可以了。
      

  4.   

    明细表可以参考我写的文章,
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx
    如果把主从表放在一个DataGrid中表示,
    可以通过ado.net中的表达式,在其中一个表中增加字段实现,看了下面的文章楼主应该知道怎么做了,
    ADO.NET 中的表达式
    http://www.microsoft.com/china/MSDN/library/data/dataAccess/ADONETEXP.mspx
      

  5.   

    如果我的DataSet通过两个表关连出来,那修改内容后再更新Ole.update(Ds,Table1),这样的话就不能
    对一个表更新啊,因为DataSet里的内容是由俩个表关连过来的
      

  6.   

    方法一:用union语句从后台一起检索出来
    方法二:分别取数据,先后填充到dataset中I think you should do as this