使用嵌套的Repeater控件

时间:2015/11/7 13:36:00来源:互联网 作者:flyso 点击: 1223 次

aspx:

<asp:Repeater id="Repeater" runat="server" OnItemDataBound="Repeater_ItemDataBound">
<ItemTemplate>
      <tr>
        <td align="center"><%# DataBinder.Eval(Container.DataItem, "sendfrom_cname")%></td>
        <td align="center"><%# DataBinder.Eval(Container.DataItem, "sendfrom_uid")%></td>
        <td align="center">
        <asp:Repeater ID="ChildRepeater" runat="server">
        <ItemTemplate>
        <%# DataBinder.Eval(Container.DataItem, "mobile_no")%>
        </ItemTemplate>
        </asp:Repeater>
        </td>
      </tr>
     </ItemTemplate>
</asp:Repeater>

DataReader方式
cs:

protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            Repeater ChildRepeater = (Repeater)e.Item.FindControl("ChildRepeater");
            System.Data.Common.DbDataRecord newRow = (System.Data.Common.DbDataRecord)e.Item.DataItem;
            string uid = newRow["sendfrom_uid"].ToString();
            //Response.Write(www.flyso.cn);
            string connStr = ConfigurationManager.AppSettings[0].ToString();
            SqlConnection conn = new SqlConnection(connStr);
            string cmdStr = "select mobile_no from [yy960_zs_user] where uid=@uid";
            SqlCommand comm = new SqlCommand(cmdStr, conn);
            comm.Parameters.AddWithValue("@uid", uid);
            conn.Open();
            SqlDataReader dr = comm.ExecuteReader();
            ChildRepeater.DataSource = dr;
            ChildRepeater.DataBind();
            dr.Close();
            conn.Close();
        }
    }


DataSet方式:

cs:

    protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            Repeater ChildRepeater = (Repeater)e.Item.FindControl("ChildRepeater");
            System.Data.Common.DbDataRecord newRow = (System.Data.Common.DbDataRecord)e.Item.DataItem;
            string uid = newRow["sendfrom_uid"].ToString();
            //Response.Write(www.flyso.cn);
            string connStr = ConfigurationManager.AppSettings[0].ToString();
            SqlConnection conn = new SqlConnection(connStr);
            string cmdStr = "select mobile_no from [yy960_zs_user] where uid=@uid";
            SqlCommand comm = new SqlCommand(cmdStr, conn);
            comm.Parameters.AddWithValue("@uid", uid);
            conn.Open();
            SqlDataAdapter dataAdapter = new SqlDataAdapter();
            dataAdapter.SelectCommand = comm;
            dataAdapter.TableMappings.Add("Table", "user");
            DataSet dataSet = new DataSet();
            dataAdapter.Fill(dataSet);
            ChildRepeater.DataSource = dataSet.Tables["user"];
            ChildRepeater.DataBind();
            conn.Close();
        }
    }

另一种方法:http://support.microsoft.com/default.aspx?scid=kb;zh-cn;306154


Copyright © 2005 - 2016 flyso.cn. 飞搜 版权所有 鄂ICP备11002783号-3