还是多个DataGrid绑定数据的问题:
数据库中有多个表在同一页面同时显示这几个表的数据(可编辑,可删除):
想用多个DataGrid 来绑定数据
是这么做的:
首先有两个DataGrid : id = "DataGrid1", id="DataGrid2"
他们都自己定义好了模板(templateColumn)知道如何显示数据
然后多表查询:
SqlStr = "SELECT c.id,c.name,c,price,e.name,e.age FROM counttb AS c eattb AS e Where c.Uid=51 AND e.Uid =51"
用上面的sql语句得到了一个DataSet ds
这样绑定:
SqlDataAdapter myCommand = new SqlDataAdapter(sql, aconn.getConnection());
DataSet ds = new DataSet();
myCommand.Fill(ds, "tb");
DataGrid1.DataSource=ds.Tables["tb"].DefaultView;
DataGrid2.DataSource=ds.Tables["tb"].DefaultView;
DataGrid1.DataBind();
DataGrid2.DataBind();
问题是 :
比如 当 counttb 表 Uid=51 的记录有 8条,
eattb 表 uid =51 的记录有 2 条
则 负责显示eattb的datagrid 也会有8 行.
我想这是 sql语句返回的记录集如此吧 ,
有什么办法解决呢?
是不是每个表都得用一个 SqlDataAdapter myCommand 来返回 一个属于自己的 DataSet ?
这样效率会很低吧 ?,或者 有更好的办法 ?