DataSet ds = bll.DoAll(id, Convert.ToDateTime(strstime), Convert.ToDateTime(stretime));//这个是正确有数据的
                if (ds.Tables.Count > 0)
                {
                    for (int i = 0; i < ds.Tables.Count; i++)
                    {
                        this.gv.DataSource = ds.Tables[i];
                        this.gv.DataBind();
                    }
                }前台<asp:GridView ID="gv" runat="server"></asp:GridView>只能显示返回数据集中的最后一个表的内容

解决方案 »

  1.   

    LZ 当然只能看到最后一行的数据啦
    for (int i = 0; i < ds.Tables.Count; i++)
                        {
                            this.gv.DataSource = ds.Tables[i];
                            this.gv.DataBind();
                        }
    你都循环绑定数据源了   一个循环下来   最后一次绑定gridView 就是ds.Tables[Max]最后一个记录了你不用遍历赋值  直接把DataSet 赋值给gridView
      

  2.   

    直接 把DataSet 赋值给gridView 只显示第一个表的内容,其他不显示
      

  3.   

      for (int i = 0; i < ds.Tables.Count; i++)
                        {
                            this.gv.DataSource = ds.Tables[i];
                            this.gv.DataBind();
                        }因为被你循环  覆盖绑定了你在前面绑定 或者整合了数据源以后在最后一下绑定你没次的循环就是一次绑定   覆盖掉了
      

  4.   


    DataSet ds = bll.DoAll(id, Convert.ToDateTime(strstime), Convert.ToDateTime(stretime));//这个是正确有数据的
                    if (ds.Tables.Count > 0)
                    {
                        for (int i = 0; i < ds.Tables.Count; i++)
                        {
                            this.gv.DataSource = ds.Tables[i];
                                                }
    this.gv.DataBind();                }
    只显示最后一个表的内容 ,其他不显示
      

  5.   

    啊 原来你是要一个GridView里面显示多个表啊 有两种解决方法  一个是将多个表转化成视图  然后在查询获取这个视图(有关视图可以去网上找找)          还有你试试string sql= "select * from table1,table2.....";
      看行不行  留意字段问题 最麻烦的就是多个GridView分别绑定多个GridView 看你的代码应该是动态绑定  应该不合适