repeater实现多列显示_ASP.NET技巧

来源:互联网 发布:淘宝天猫开店得多少钱 编辑:程序博客网 时间:2024/05/01 19:43

一、下面的代码实现,每行显示三列

前台代码:
<table>
<tr>
<asp:repeater id="Repeater1" runat="server">
<ItemTemplate>
<td><%#DataBinder.Eval(Container.DataItem,"thing")%></td>
</ItemTemplate>
</asp:repeater>
</tr>
</table>

后台代码:
protected int i=1;

private void Page_Load(object sender, System.EventArgs e)
{

XmlSerializer ser = new XmlSerializer(typeof(DataSet));
DataSet ds = new DataSet("myDataSet");
DataTable t = new DataTable("table1");
DataColumn c = new DataColumn("thing");
t.Columns.Add(c);
ds.Tables.Add(t);
DataRow r;
for(int i = 0; i<10;i )
{
r = t.NewRow();
r[0] = i;
t.Rows.Add(r);
}
this.Repeater1 .DataSource =ds.Tables [0].DefaultView ;
this.Repeater1.DataBind ();
}

private void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if(i%3==0&&i>0)
{
  e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
}
i ;
}

感觉上面的代码在使用中不是很好,下面是本人在做项目中的另类方式实现的,提供给大家参考一起学习.

 private void Repeater1_ItemCreated(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
  {
   index++;
   if(index == 5)
   {
    Panel panel = new Panel();
    e.Item.Controls.Add(panel);
    index = 0;
   }
  }
 

原创粉丝点击