Repeater嵌套Repeater,如何隐藏内层的repeater中指定的列,高分请教

zhuxiangshengwww 2010-09-22 11:27:51
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound" >
<HeaderTemplate>
<table width="100%" border="1xp">
<tr style="Font-weight:bold;border-width:1px;border-color:Blue">
<td width="10%" >WorkpackgeNo.</td>
<td width="30%">wWorkpackgeName</td>
<td width="10%">WorkpackgeType</td>
<td width="30%">Decipline</td>
<td width="20%">Status</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table width="100%" border="1px">
<tr>
<td width="10%"><%#Eval("WPID")%></td>
<td width="30%"><%#Eval("WPname")%></td>
<td width="10%"><%#Eval("WPtypeName")%></td>
<td width="30%"><%#Eval("Dicpline")%></td>
<td width="20%"><%#Eval("State")%></td>
</tr>
<tr><td> </td>
<td colspan="4">
<asp:Repeater ID="Repeater2" runat="server" OnItemCommand="Repeater2_ItemCommand">
<ItemTemplate>
<table width="100%">
<tr>
<td width="10%"><%#Eval("ID")%></td>
<td width="10%"><%#Eval("VendorNumber")%></td>
<td width="10%"><%#Eval("CompanyName")%></td>
<td width="10%"><%#Eval("PostCode")%></td>
<td width="10%"><%#Eval("PhoneNumber1")%></td>
<td width="10%"><%#Eval("FaxNumber1")%></td>
<td width="10%"><%#Eval("Contact")%></td>
<td width="10%"><%#Eval("CompanyType")%></td>
<td width="5%"><%#Eval("State")%></td>
<td width="5%"><%#Eval("Evaluation")%></td>
<td width="10%"><asp:LinkButton ID="LinkButton1" runat="server" CommandName="Del" CommandArgument='<%#Eval("VendorNumber") %>' OnClientClick="return window.confirm('Are you sure to delete?')">Delete</asp:LinkButton></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>


因为删除列在特定的时候需要被隐藏掉,也就是标记红色的这一块,因为是嵌套的在里面的repeater里面的,不知道如何给隐藏了,在后台里面也找不到

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
Repeater rep = (Repeater)e.Item.FindControl("Repeater2");
//Control cc = e.Item.FindControl("PlaceHolder1");

//if (c != null)
//{
// c.Visible = false;
//}
}
}

}
...全文
179 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuxiangshengwww 2010-09-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jianshao810 的回复:]
大概就是 在bind事件里找到该行该列,再找到嵌套的repeater,然后再去隐藏列
[/Quote]
不光是Linkbutton要被隐藏,整列都要隐藏掉的
beyond_me21 2010-09-22
  • 打赏
  • 举报
回复
在里层的repeater的OnItemDataBound事件里隐藏
rart2008 2010-09-22
  • 打赏
  • 举报
回复
这个得好好看看
happy664618843 2010-09-22
  • 打赏
  • 举报
回复
<td width="10%" id="td1" runat="server">
e.Item.FindControl() as
wuyq11 2010-09-22
  • 打赏
  • 举报
回复
在内层的ItemDataBound判断及设置linkbutton
或Visible=<%# GetVisivile()%>
public bool GetVisivile()
{
return true;
}
jianshao810 2010-09-22
  • 打赏
  • 举报
回复
大概就是 在bind事件里找到该行该列,再找到嵌套的repeater,然后再去隐藏列
zhuxiangshengwww 2010-09-22
  • 打赏
  • 举报
回复
朋友们帮忙顶起来啊,本人第一次在CSDN发帖

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧