gridview绑定datatable的时候显示不出来
<asp:DataList ID="DataList1" runat="server" DataKeyField="orderid"
DataSourceID="SqlDataSource3">
<ItemTemplate>
订单编号:
<asp:Label ID="orderidLabel" runat="server" Text='<%# Eval("orderid") %>' />
收货地址:
<asp:Label ID="postAdressLabel" runat="server"
Text='<%# Eval("postAdress") %>' />
电话:
<asp:Label ID="postNumberLabel" runat="server"
Text='<%# Eval("postNumber") %>' />
收货人:
<asp:Label ID="orderMemberLabel" runat="server"
Text='<%# Eval("orderMember") %>' />
支付方式:
<asp:Label ID="pidLabel" runat="server" Text='<%# Eval("pname") %>' />
订单金额:
<asp:Label ID="orderPriceLabel" runat="server"
Text='<%# Eval("orderPrice") %>' />
isPay:
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("isPay") %>'/>
isPost:
<asp:CheckBox ID="CheckBox2" runat="server" Checked='<%# Eval("isPost") %>' />
<br />
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="true">
</asp:GridView>
<br />
</ItemTemplate>
</asp:DataList>
<asp:GridView ID="GridView3" runat="server">
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
string username = Session["uer"].ToString();
for (int i = 0; i < DataList1.Items.Count; i++)
{
string orderid = ((Label)DataList1.Items[i].FindControl("orderidLabel")).Text;
string sql = "SELECT * FROM [orderProcduct] WHERE ([username] = '" + username + "' and [orderid]= " + orderid + ")";
using (SqlConnection conn = new SqlConnection(sqlHelper.ConnectionStringLocalTransaction))
{
conn.Open();
DataTable dt = new DataTable("dt");
dt.Columns.Add( new DataColumn("opID"));
dt.Columns.Add(new DataColumn("orderid"));
dt.Columns.Add(new DataColumn("ISBN"));
dt.Columns.Add(new DataColumn("count"));
dt.Columns.Add(new DataColumn("price"));
dt.Columns.Add(new DataColumn("sumPrice"));
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
DataRow row = dt.NewRow();
row["opID"] = sdr.GetInt32(0).ToString();
row["orderid"] = sdr.GetString(1);
row["ISBN"] = sdr.GetString(2);
row["count"] = sdr.GetInt32(3).ToString();
row["price"] = sdr.GetDouble(4).ToString();
row["sumPrice"] = sdr.GetDouble(5).ToString();
dt.Rows.Add(row);
}
((GridView)DataList1.Items[i].FindControl("GridView2")).DataSource = dt;
((GridView)DataList1.Items[i].FindControl("GridView2")).DataBind();
}
}
}