ASP.Net DataGrid有选择地绑定条目

时间:2018-04-23 10:30:46

标签: asp.net datagrid

我对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
  }
}

1 个答案:

答案 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>