用GridView嵌套实现表格中有表格做一个信息统计
当数据库中有一条信息的时候显示正常,但是有2跳以上数据就显示不正常了
具体表格如下
订单编号       详细信息    下单会员
 
00001   产品编号 产品名称  产品颜色 产品数量 产品价格    32s1f
  123456   123456    hong      3         200 当有一条信息显示这样,正常当2条以上时:
订单编号       详细信息    下单会员
 
00001       32s1f
00002 产品编号 产品名称  产品颜色 产品数量 产品价格            阿萨德   123456   123456    hong      3         200
第一条详细信息跑第二条了,第二条没了,以此类推
前台代码:
<asp:GridView ID="GridView2" runat="server" AllowPaging="true" PageSize="30"
            AutoGenerateColumns="false" onrowdatabound="GridView2_RowDataBound" Width="900px">
        <Columns>
            <asp:BoundField HeaderText="订单编号" DataField="orderid" />
            <asp:TemplateField HeaderText="详细信息">
                <ItemTemplate>
                    <asp:GridView ID="GridView3" runat="server" AllowPaging="true" AutoGenerateColumns="false" Width="100%" BackColor="#FFFFC0" BorderColor="Silver" BorderWidth="1px" CellPadding="2" ForeColor="black">
                                    <SelectedRowStyle BackColor="#FFFFC0" ForeColor="#FFFFC0" /><PagerStyle BackColor="#FFFFC0" ForeColor="#FFFFC0" HorizontalAlign="Center" />
                                    <HeaderStyle BackColor="#FFFFC0"  />
                        <Columns>
                                    <asp:TemplateField HeaderText="产品编号">
                                        <ItemTemplate>
                                            <asp:Label ID="lblcode" runat="server"></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField HeaderText="产品名称">
                                        <ItemTemplate>
                                            <asp:Label ID="lblname" runat="server"></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField HeaderText="产品颜色">
                                        <ItemTemplate>
                                            <asp:Label ID="lblcolor" runat="server"></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField HeaderText="产品数量">
                                        <ItemTemplate>
                                            <asp:Label ID="lblCount" runat="server"></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField HeaderText="产品价格(单件)">
                                        <ItemTemplate>
                                            <asp:Label ID="lblprice" runat="server"></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    
                        </Columns>
                    </asp:GridView>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField HeaderText="下单会员"  DataField="customerid"/>
        </Columns>
    </asp:GridView>
后台代码:
    //订单绑定
    protected void FOrderBind()
    {
        if (Request["code"] != null)
        {
            string jmcode = Request["code"].ToString();
            dt = ucobj.GetConOrder(jmcode, startdate, enddate);
            GridView2.DataSource = dt.DefaultView;
            GridView2.DataBind();
            GetMoney();
        }
    }
    protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            gv = (GridView)e.Row.FindControl("GridView3");
            if (gv != null)
            {
                int rownum = GridView2.Rows.Count;
                if(rownum>0)
                {
                    OrderBind();                }
            }
        }
    }
    protected void OrderBind()
    {
        int rownum = GridView2.Rows.Count;
        for (int count = 0; count < rownum; count++)
        {
            string id = GridView2.Rows[count].Cells[0].Text.Trim();
            dtdetail = ucobj.GetOrderDetail(id);
            if (dtdetail.Rows.Count > 0)
            {
                。
这里是把购物车里的信息,在订单表里就是一条数据,分割字符串,页面体现等!
            }
        }
    }