我对ASP.Net的了解较少。目前,我正在使用ASP.Net DataGrid控件并成功映射UI中的所有源信息。
myDataGrid.DataSource = MyCollectionOfObjects
myDataGrid.DataKeyField = "MyKey"
myDataGrid.DataBind()
现在,问题是,我不希望所有对象都在网格中映射。在映射之前需要做一些条件过滤。 DataGrid中是否有任何允许我决定绑定或不绑定某些对象的功能?
1)一个选项是通过应用所需的过滤将集合(MyCollectionOfObjects)映射到仅包含所需对象的新集合,但我现在不期望这样。
例如,
foreach(var item in MyCollectionOfObjects)
{
if(item.InvalidEntry)
{
// This entry is not needed
}
else
{
// Okay with this entry
}
}
答案 0 :(得分:0)
你可以这样做。根据{{1}}的值显示/隐藏PlaceHolder。
InvalidEntry
但是,使用Linq过滤源数据会容易得多。
<asp:TemplateColumn>
<ItemTemplate>
<asp:PlaceHolder ID="PlaceHolder2" Visible='<%# Convert.ToBoolean(Eval("InvalidEntry")) %>' runat="server">
<%# Eval("Column1") %>
</asp:PlaceHolder>
</ItemTemplate>
</asp:TemplateColumn>