2012-01-18 40 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到我可以指定,例如,我只想要生成列prop1 and prop2GridView?感謝您的幫助

編輯:

我給這總體目標是使窗體上的複選框,將允許用戶看到完整的表和短表只顯示最重要的列之間切換。真正的對象有超過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 2012-01-20 20:46:37

2

如果您需要這兩種觀點(重要的列/所有列),然後在設定的事件處理程序的列的可見性複選框:

gridView.Columns["Prop1"].Visible = showAllColumnsCheckBox.Checked; 
gridView.Columns["Prop2"].Visible = showAllColumnsCheckBox.Checked; 
...