如题所述,datalist 显示table1的一部分,gridview显示从table2中查询到和table1的ID相同的项目,gridview的数据怎么绑定?
代码:
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<table style="width: 216px">
<tr>
<td colspan="3">
<%#DataBinder .Eval (Container .DataItem ,"id") %>
</td>
</tr>
<tr>
<td colspan="3">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</div>
</form>
</body>
cs
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["constr"]);
con.Open();
SqlDataAdapter dbadapter = new SqlDataAdapter("select id from table1", con);
DataSet dataset = new DataSet();
dbadapter.Fill(dataset);
con.Close();
DataList1.DataSource = dataset;
开发是用C#。NET,用VS2005
代码:
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<table style="width: 216px">
<tr>
<td colspan="3">
<%#DataBinder .Eval (Container .DataItem ,"id") %>
</td>
</tr>
<tr>
<td colspan="3">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</div>
</form>
</body>
cs
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["constr"]);
con.Open();
SqlDataAdapter dbadapter = new SqlDataAdapter("select id from table1", con);
DataSet dataset = new DataSet();
dbadapter.Fill(dataset);
con.Close();
DataList1.DataSource = dataset;
开发是用C#。NET,用VS2005
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
GridView GridView1=(GridView)e.Item.FindControl("GridView1");
//查数据
GridView1.DataSource = table2;
GridView1.DataBind();
}
}
<tr>
<td colspan="3">
<%#DataBinder .Eval (Container .DataItem ,"id") %>
<asp:HiddenField ID="HiddenField1" Value ='<%#DataBinder .Eval (Container .DataItem ,"id") %>' runat="server" />
</td>
</tr>
<tr>
<td colspan="3">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</td>
</tr>
</table> HiddenField HiddenField1=(GridView)e.Item.FindControl("HiddenField1");
加一个隐藏字段
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<table style="width: 216px">
<tr>
<td colspan="3">
<%#DataBinder .Eval (Container .DataItem ,"id") %>
</td>
</tr>
<tr>
<td colspan="3">
<asp:GridView ID="GridView1" runat="server" DataSource='<%# GetData(Eval("id").ToString())%>'>
</asp:GridView>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</div>
</form>
</body>
后台
protected DataTable GetData(string id)
{
//根据你的id做查询,返回一个DataTable对象即可
}