我有一个GridView控件,它绑定到List
个自定义对象。这些对象有5个属性,但是,我不想在GridView中为所有属性生成一个列,仅针对某些属性。我知道如何关闭'AutoGenerateColumns',但是,我不知道如何只选择性地显示每个对象的某些属性。有谁知道应该怎么做或者能为我提供这样做的一个例子?
示例:
假设我有一个这样的列表:List<Car> cars = new List<Car>
每个Car
都有Model
,Make
,Year
,Transmission
,Color
的属性。
我希望我的GridView控件绑定到汽车List
,但只有列显示Model
,Make
和Year
。
答案 0 :(得分:2)
您需要创建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>
答案 1 :(得分:0)
您需要创建BindingList<yourObject>
。本质上它就像一个List,但更容易绑定到数据源。
然后在前端的列集合中,您将使用DataPropertyName
属性显示要显示的每个属性的Public属性。看看下面的文章。希望这会有所帮助。