2012-01-18 2 views
1

У меня есть элемент управления GridView, который использует IList<> для его DataSource. List<> содержит объекты типа:Предельные столбцы показаны с GirdView.DataSource

class Foo { 
    public string prop1 {get;set;} 
    public int prop2 {get;set;} 
    public int prop3 {get;set;} 
    public float prop4 {get;set;} 
} 

Есть ли способ, что, когда я привязать List к GridView, что я могу указать, например, что я только хочу, чтобы создать столбцы для prop1 and prop2? Спасибо за любую помощь

Edit:

Моя главная цель этого заключается в том, чтобы иметь флажок на форме, которая позволит пользователю переключаться между отображением полной таблицы и сокращенную таблицу только с указанием наиболее важных столбцов. Реальные объекты имеют более 50 свойств, и я бы хотел показать только самые важные 10, если флажок установлен.

ответ

1

Я не уверен, если это работает, но вы можете попробовать:

<asp:TemplateField HeaderText="Prop1"> 
    <ItemTemplate> 
     <%# ((Foo)Container.DataItem).prop1 %> 
    </ItemTemplate> 
</asp:TemplateField> 

<asp:TemplateField HeaderText="Prop2"> 
    <ItemTemplate> 
     <%# ((Foo)Container.DataItem).prop2 %> 
    </ItemTemplate> 
</asp:TemplateField> 
+0

Благодарим за ответ. Я надеялся на что-то более динамичное. Просмотрите мое редактирование для лучшего объяснения того, что я пытаюсь сделать. – user12345613

2

Если вам нужны обе точки зрения (важные столбцы/все столбцы), а затем установить видимость столбцов в обработчик события checkbox:

gridView.Columns["Prop1"].Visible = showAllColumnsCheckBox.Checked; 
gridView.Columns["Prop2"].Visible = showAllColumnsCheckBox.Checked; 
... 
Смежные вопросы