repeater多行多列带补齐td功能的实现

代码:

.aspx

复制代码
    <asp:Repeater ID="list" runat="server" OnItemDataBound="list_ItemDataBound" OnItemCreated="list_ItemCreated">
    <HeaderTemplate>
    <table width="636" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"><tr>
    </HeaderTemplate>
    <ItemTemplate>
        <td height="24" align="center" bgcolor="#FFFFFF"><%#Eval("ID") %></td>
    </ItemTemplate>
    <FooterTemplate>
    </tr></table>
    </FooterTemplate>
    </asp:Repeater>
复制代码

.aspx.cs

复制代码
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("id", typeof(string));
        for (int i = 1; i <=8; i++)
        {
            DataRow dr = dt.NewRow();
            dr[0] = i.ToString();
            dt.Rows.Add(dr);
        }

        list.DataSource = dt;
        list.DataBind();
        dt.Dispose();
   }

    protected void list_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (i % 6 == 0 && i > 0 && i != list.Items.Count)
        {
            e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
        }

        if (e.Item.ItemType == ListItemType.Footer && list.Items.Count % 6 != 0)
        {
            LiteralControl li = e.Item.Controls[0] as LiteralControl;
            string oldHTML = li.Text;
            string newHTML = String.Empty;
            for (int c = list.Items.Count % 6; c < 6; c++)
            {
                newHTML += " <td height=\"24\" align=\"center\" bgcolor=\"#FFFFFF\"> </td> ";
            }
            li.Text = newHTML + oldHTML;
        }
        i++;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值