限制GirdView.DataSource中显示的列
本文关键字:显示 GirdView DataSource 限制 | 更新日期: 2023-09-27 18:20:46
我有一个GridView
控件,它使用IList<>
作为DataSource
。List<>
包含以下类型的对象:
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
生成列?感谢的帮助
编辑:
我的总体目标是在表单上设置一个复选框,允许用户在查看完整表和只显示最重要列的缩短表之间切换。真实对象有50多个属性,如果选中复选框,我只想显示最重要的10个属性。
如果需要两个视图(重要列/所有列),则在复选框的事件处理程序中设置列的可见性:
gridView.Columns["Prop1"].Visible = showAllColumnsCheckBox.Checked;
gridView.Columns["Prop2"].Visible = showAllColumnsCheckBox.Checked;
...
我不确定这是否有效,但您可以尝试:
<asp:TemplateField HeaderText="Prop1">
<ItemTemplate>
<%# ((Foo)Container.DataItem).prop1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Prop2">
<ItemTemplate>
<%# ((Foo)Container.DataItem).prop2 %>
</ItemTemplate>
</asp:TemplateField>