Отображать только определенные свойства объекта списка в GridView - PullRequest
3 голосов
/ 25 января 2012

У меня есть элемент управления GridView, связанный с List пользовательских объектов. У объектов есть 5 свойств, однако я не хочу создавать столбец в GridView для всех свойств, только для определенных. Я знаю, как отключить AutoGenerateColumns, однако я не уверен, как затем отображать только определенные свойства каждого объекта выборочно. Кто-нибудь знает, как это должно быть сделано, или может дать мне пример этого?


Пример

Допустим, у меня есть такой список: List<Car> cars = new List<Car>

Каждый Car имеет свойство для Model, Make, Year, Transmission, Color.

Я хочу, чтобы мой элемент управления GridView был привязан к автомобилям List, но в нем есть только столбцы, отображающие Model, Make и Year.

Ответы [ 2 ]

2 голосов
/ 25 января 2012

Вам необходимо создать 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>
0 голосов
/ 25 января 2012

Вам нужно будет создать BindingList<yourObject>. По сути, это похоже на список, но его легче привязать к источнику данных.

Затем в своей коллекции столбцов на внешнем интерфейсе вы будете использовать свойство DataPropertyName, чтобы отобразить свойство Public для каждого свойства, которое вы хотите отобразить. Проверьте следующую статью. Надеюсь, это поможет.

Привязка GridView к коллекции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...