【问题标题】:Only Display Certain List Object Properties in GridView仅在 GridView 中显示某些列表对象属性
【发布时间】:2012-01-24 21:30:23
【问题描述】:

我有一个绑定到List 自定义对象的 GridView 控件。这些对象有 5 个属性,但是,我不想在 GridView 中为所有属性生成列,只为某些属性生成列。我知道如何关闭“AutoGenerateColumns”,但是,我不确定如何仅选择性地显示每个对象的某些属性。有谁知道应该怎么做或者可以给我一个例子吗?


示例

假设我有一个这样的列表:List<Car> cars = new List<Car>

每个Car 都有一个ModelMakeYearTransmissionColor 的属性。

我希望我的 GridView 控件绑定到汽车 List,但只有显示 ModelMakeYear 的列。

【问题讨论】:

    标签: c# asp.net list data-binding gridview


    【解决方案1】:

    您需要创建 BoundField 或 TemplateField。例如。

    <asp :GridView ID=“GridView1″ runat=“server”>
        <columns>
            <asp :BoundField DataField=“ColumnName”
                DataFormatString=“{0:M-dd-yyyy}”
                HtmlEncode=“false”
                HeaderText=“ColumnName” />
            </columns>
    </asp:GridView>
    

    <asp:TemplateField>
            <HeaderTemplate>Make</HeaderTemplate>
            <ItemTemplate><%# DataBinder.Eval(Container.DataItem, 
                         "Make")%></ItemTemplate>
    </asp:TemplateField>
    

    【讨论】:

    • 不用担心 - 这些控件非常强大,所以请继续阅读并尝试新事物。
    【解决方案2】:

    您需要创建一个BindingList&lt;yourObject&gt;。本质上它就像一个列表,但更容易绑定为数据源。

    然后在前端的列集合中,您将使用DataPropertyName 属性来显示您要显示的每个属性的公共属性。看看下面的文章。希望这会有所帮助。

    Binding a GridView to a collection

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-11
      • 1970-01-01
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-07
      • 1970-01-01
      相关资源
      最近更新 更多