我想隱藏datalist
中的一個項目,根據某些情況起訴ItemBound
,怎麼樣?如何隱藏數據列表中的項目
2
A
回答
1
圍繞ItemTemplate
的整個內容控制PlaceHolder
控件。
然後在你的ItemDataBound事件,你可以這樣做:
Protected Sub myDataList_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.DataListItemEventArgs) Handles myDataList.ItemDataBound
If Not Value = Value2 Then
Ctype(e.Item.FindControl("myPlaceHolder"), PlaceHolder).Visible = False
End If
End Sub
一個更好的辦法(不過我已經沒有機會來測試它),將使用隱藏整個項目e.Item.Visible
。這樣就不會爲該項目呈現HTML表格元素。這也意味着不需要添加PlaceHolder
。
Protected Sub myDataList_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.DataListItemEventArgs) Handles myDataList.ItemDataBound
If Not Value = Value2 Then
e.Item.Visible = False
End If
End Sub
另外,如果您正在檢查的值是從數據庫源,可以篩選項目進行綁定之前:
WHERE [email protected]
0
一個簡單的解決辦法是設置的知名度在你的ItemTemplate評估所需條件的項目容器:
<ItemTemplate>
<div id="itemdiv" visible='<%# (Convert.ToInt32(Eval("YourValue")) == 5) %>' runat="server">
<%# Eval("SomeOtherValue") %>
</div>
</ItemTemplate>
我的示例使用不變,但你可以在範圍內使用任何變量。
陷阱!
DataList
將堅持爲隱藏的項目創建空行,因此您可能必須使用ListView
來完全控制創建過濾的項目列表。
更新
使用ListView
,而不是隻針對可見項創建行:
<ItemTemplate>
<tr id="itemdiv" visible='<%# (Convert.ToInt32(Eval("YourValue")) == 5) %>' runat="server">
<td><%# Eval("SomeOtherValue") %></td>
</tr>
</ItemTemplate>
<LayoutTemplate>
<table border="1">
<tr runat="server" id="itemPlaceholder" />
</table>
</LayoutTemplate>
相關問題
- 1. 如何隱藏項目列表中的Trac項目?
- 2. 如何隱藏數據表中的列
- 3. 如何隱藏列表項?
- 4. 隱藏Silverlight 4中的列表項目
- 5. JQuery隱藏列表框中的項目
- 6. 隱藏HTML5數據列表選項值
- 7. 爲少數列表項目隱藏列表項分隔符
- 8. 如何隱藏露天數據列表?
- 9. 如何隱藏複選框列表中的未選項目?
- 10. Primefaces如何隱藏IE8上的空數據列表項?
- 11. 如何在LaTeX列表中隱藏項目符號?
- 12. 如何在反應中動態顯示/隱藏項目列表
- 13. 如何隱藏項目?
- 14. fadeIn()使用jQuery隱藏列表項目
- 15. 隱藏數據表中的列if if
- 16. 隱藏jQuery數據表中的列?
- 17. 隱藏數據表中的列
- 18. 如何隱藏aci樹中的項目
- 19. 如何隱藏jQuery中數據表插件中的「infoFiltered」選項?
- 20. 如何使用JQuery數據表插件隱藏表中的列?
- 21. 如何使用數據模型遍歷篩選器項目並隱藏Excel數據透視表中的項目?
- 22. 如何僅選擇未使用jQuery隱藏的列表項目?
- 23. 如何在J2ME中隱藏列表中的數據/字段
- 24. 隱藏數據透視表中的數據透視表項
- 25. 如何在用戶從列表中選擇項目時隱藏列表?
- 26. 在jQuery數據表中隱藏列
- 27. Java:Swing JComboBox,是否有可能爲列表中的每個項目隱藏數據?
- 28. JIRA中的隱藏項目
- 29. 隱藏tabBar中的項目?
- 30. 如何在android中的微調列表中隱藏選中的項目
這將是從數據源中的值?如果是這樣的話,那麼最好先將它從數據源中刪除。如果您使用的是SQL數據源,則可以使用WHERE子句。 – Curt 2012-02-22 12:38:36
是的,但我無法重新綁定數據列表數據,而我在ItemBound內 – Bader 2012-02-22 12:40:03
如果在需要檢查的ItemBound中有值,那麼您確實可以從數據源獲得這個值? – Curt 2012-02-22 12:41:01