蛙蛙推荐:让模板控件也支持多行多列,呵呵!
蛙蛙推荐:让模板控件也支持多行多列,呵呵!
本来我的思路是在ItemCreated事件里判断当前的DataRowView在DataView里的索引号,然后根据索引号是否能被5整除来动态改变Separator的Text属性,结果搞了半天不知道怎么确定这个索引号,后来搜索了一下帖子,是 webdiyer(陕北吴旗娃)给了个思路,很不错,我说一下实现方法,呵呵。
不过大家谁知道怎么获取这个索引号,麻烦指点一下,或者是某个DataRow在DataTable里的索引号,如果在DataGrid里可以用CurrentRow来获取好像,后来我用DataView的Find方法来获取索引,说什么排序不对,我也不知道怎么获取了。
前台.aspx页面关键代码
<asp:Repeater id="rpt1" runat="server">
<HeaderTemplate>
<div class="titlebar">文件下载列表</div>
<table width="100%" border=0 align="center"><tr>
</HeaderTemplate>
<ItemTemplate>
<td>
<a href='../upload/<%# DataBinder.Eval(Container.DataItem, "SoftUrl") %>' target=_blank><%# DataBinder.Eval(Container.DataItem, "SoftName") %></a>
</td>
</ItemTemplate>
<FooterTemplate></tr></table></FooterTemplate>
</asp:Repeater>
后台.cs关键代码
protected System.Web.UI.WebControls.Repeater rpt1;//声明模板控件
int index = 0;//声明一个全局整型号变量
//在数据绑定处理里动态加入</tr><tr>标签,和asp里的分栏显示原理差不多
private void rpt1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if(index % 5 == 0){
e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
}
index++;
}