三表联查的存储过程,结果有三张表,怎样用GridView显示

求助:三表联查的存储过程,结果有三张表,怎样用GridView显示?
三表联查的存储过程,在数据库中查询结果有三张表,怎样用GridView分别显示?配置数据源后,只能显示第一个表。
sql server2008r2+vs2013
------解决方案--------------------
三表联查结果放在DataSet里面
过滤DataSet得到不同的表格DataTable
然后不同GridView分别绑定不同表的DataTable
------解决方案--------------------
参考这里:
http://www.cnblogs.com/insus/p/3872394.html
如果不符合你的要求,继续讨论。
------解决方案--------------------
引用:
参考这里:
http://www.cnblogs.com/insus/p/3872394.html
如果不符合你的要求,继续讨论。


刚才有网友反馈性能问题,看评论。Insus.NET也作优化了一下。
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

不太清楚你的描述。拉三个GridView不行吗?

无论拉多少个GV,显示都是第一张表。所以才上来求助。
一个存储过程数据库中执行的结果是:分别显示三张表(A表、B表、C表)
A1   A2   A3   A4  A5  A6  A7

B1  B2  B3  B4   B5

C1  C2  C3  C4  C5  C6

但是在VS2013中,使用SqlDataSource和GridView调用这个存储过程时,只能显示A表:
A1   A2   A3   A4  A5  A6  A7
请教有什么办法显示齐全三张表?

你绑定数据源的时候有没有选择表啊……第一个GV绑定DataSet.Tables[0]、第二个绑定Tables[1]这样啊。你总是显示第一张表说明你每次绑定的都是Tables[0]吧= =


这是问题所在,所以你现在要做的是把执行存储过程之后的结果再进行筛选,然后分别绑定到三个不同的gridview当中
1.把你获得执行存储过程之后的结果,那段代码贴上来帮你修改,或者你参考下面的代码自己修改:
使用存储过程返回一个数据集,SqlCommand -〉SqlDataAdapter -〉DataSet 

        SqlConnection userConnection = Connection.getConnection();
        SqlCommand userCommand = new SqlCommand("storepname", userConnection);
        userCommand.CommandType = CommandType.StoredProcedure;//采用存储过程
        userCommand.Parameters.Add("@pa", SqlDbType.VarChar, 50);//存储过程参数
        userCommand.Parameters["@pa"].Value = pa;//给参数赋值
        userCommand.Connection.Open();
        SqlDataAdapter adapter = new SqlDataAdapter(userCommand);
        DataSet ds = new DataSet();
        adapter.Fill(ds); 

接着是将这个dataset的三张表分别绑定到三个gridview当中:

            gridviewId1.DataSource= ds.Tables[0];
            gridviewId2.DataSource= ds.Tables[1];
            gridviewId3.DataSource= ds.Tables[2];

有不懂的请继续提问