SQL server 中的公司表使用 asp.net web 表单显示所有公司列表,首先是母公司和母公司下的子公司,并带有一个复选框列表来选择公司。在第一个 SQL SP 中,我从第一个数据表(例如:1、2、3)中获取了一个数据表中的母公司列表和该公司 ID,以循环获取第二个数据表中的子公司列表
我曾尝试对 2 个数据表使用嵌套中继器,但不确定如何实现这一点以及哪个是最好的控制
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataTable dtx = Getparentfirm();
DataTable dso = GetSuboffice(dtx);
R1.DataSource = dtx;
R1.DataBind();
R2.DataSource = dso;
R2.DataBind();
}
}
private DataTable Getparentfirm()
{
using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=test;Integrated Security=True"))
{
SqlDataAdapter sda = new SqlDataAdapter("select * from company where parentcompany is NULL", conn);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
private DataTable GetSuboffice(DataTable dt)
{
DataTable dtz = new DataTable();
using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=test;Integrated Security=True"))
foreach (DataRow row in dt.Rows)
{
SqlDataAdapter sda = new SqlDataAdapter("select id, fname , lname from customer where cid =" + row["cid"].ToString(), conn);
sda.Fill(dtz);
return dtz;
}
return null;
}
<asp:Repeater ID="R1" runat="server">
<ItemTemplate>
name:<%# Eval("companyname") %></td>
</ItemTemplate>
<asp:Repeater ID="R2" runat="server">
<ItemTemplate>
ID :<%# Eval("companyid") %>
Name:<%# Eval("companyname") %>
</ItemTemplate>
</asp:Repeater>
</asp:Repeater>
如何将 2 个数据表绑定到嵌套中继器以获得预期的输出。任何帮助都会很棒
预期输出
parentcompanyid 1 parent company one checkbox
sub office 1.1 sub office one checkbox
sub office 1.2 sub office two checkbox
parent comapnyid 2 parent company two checkbox
sub office 2.1 sub office one checkbox
sub office 2.2 sub office two checkbox