用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)
{
。
这里是把购物车里的信息,在订单表里就是一条数据,分割字符串,页面体现等!
}
}
}
当数据库中有一条信息的时候显示正常,但是有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)
{
。
这里是把购物车里的信息,在订单表里就是一条数据,分割字符串,页面体现等!
}
}
}
解决方案 »
- asp.net sql2005 cache缓存依赖中 我如何进行对一个左连接查询进行依赖呢?
- 两套系统登录的SESSION处理问题
- .net读取远程网页的源代码出错了。。
- 网站发布问题,在线等待马上结账!
- 网页上asp.net显示出来的数据怎样打印?
- 现在开始接触三层架构,能推荐一些比较经典的书吗?
- 如何找到Table 里面imagerbutton控件(高难度)
- System.Data.SqlClient.SqlException: 用户 登录失败
- 在客户端运行时发生的问题,出现运行期错误,语法错误。大家给看看吧
- 关于对话框的问题,急!!!
- 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (prov
- 为什么添加现有项目跳到转换导向,最后添加到项目不可用???
,但是这个RowDataBount里怎么写,OrderBind(),该放在哪里。脑袋很乱,快睡着了!~~
请高人指点迷津