Datalist 嵌套DataList

datalist 嵌套 datalist 就相当于双循环,里面的那个datalist 显示的内容跟外面的那个datalist 的值有关联, 下面是个小练习,代码如下

=======页面代码

 

 <form id="form1" runat="server">
        <div>
            <asp:DataList ID="DataList1" runat="server" Width="198px" Style="border: 5px" RepeatColumns="1"
                OnItemDataBound="DataList1_ItemDataBound" ForeColor="Blue">
                <ItemTemplate>
                    <table class="table02" id="Table13" cellspacing="0" cellpadding="0" width="100%"
                        align="center" border="0">
                        <tr bgcolor="#f5f5f5">
                            <td width="50%" height="30">
                                <asp:Label ID="Label2" runat="server" Text='<%#Eval("Name") %>'></asp:Label>
                            </td>
                        </tr>
                    </table>
                    <asp:DataList ID="dlsProductInfo" Width="100%" runat="server" Style="background-color: Green;
                        color: red" RepeatColumns="1">
                        <ItemTemplate>
                            <table id="Table14" cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
                                <tr bgcolor="#f5f5f5">
                                    <td width="50%" height="30">
                                        <asp:Label runat="server" ID="lblName" Text='<%#Eval("cName") %>'></asp:Label>
                                    </td>
                                </tr>
                            </table>
                        </ItemTemplate>
                    </asp:DataList>
                </ItemTemplate>
            </asp:DataList>
        </div>
    </form>

 

 

======后台代码
  protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            SqlConnection conn = new SqlConnection("server=.;database=test;uid=sa;pwd=sasa");
            DataSet ds = new DataSet();
            string sql = "select *  from zhuInfo ";
            SqlDataAdapter da = new SqlDataAdapter(sql, conn);
            da.Fill(ds, "zhuInfo");
            this.DataList1.DataSource = ds.Tables[0];
            this.DataList1.DataBind();

        }
    }
    protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            DataList dataList = (DataList)e.Item.FindControl("dlsProductInfo");
            DataRowView rowv = (DataRowView)e.Item.DataItem;
            string name = rowv["Name"].ToString();

            if (name.Length > 0)
            {
                DataSet ds = select(name); //获取从数据。
                if (ds != null)
                {
                    try
                    {
                        dataList.DataSource = ds.Tables[0];
                        dataList.DataBind();
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
            }
        }

    }


    public DataSet select(string name)
    {
        SqlConnection conn = new SqlConnection("server=.;database=test;uid=sa;pwd=sasa");
        DataSet ds = new DataSet();
        string sql = "select * from congInfo where  zName='" + name + "'";
        SqlDataAdapter da=new SqlDataAdapter(sql,conn);
        da.Fill(ds,"congInfo");
        return ds;

    }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值