我有自定义类,其中包含10个属性。我必须在网格视图中只显示其中的五列作为列。 到目前为止,我试过这个:
gridView1.DataSource = reservation; // This is a List of ReservationDomain (Custom Class with the properties I want to populate in the gridview)
gridView1.DataBind();
gridView1.Columns[2].Visible = false; // At this point of time the Columns count is ZERO, so an exception is thrown.
这样做的方法是什么。 我搜索过,但是我可以通过LINQ找到相同的方式,LINQ内部也在做同样的事情。
答案 0 :(得分:1)
您需要Browsable(false)
属性
public class MyClass
{
[Browsable(false)]
public int MyProperty {get;set;}//property you don't want to show
}
您需要在自定义类的属性中设置它
我认为在你的情况下你需要在ReservationDomain
类
修改强>
GridView1.RowCreated -= GridView1_RowCreated;
GridView1.RowCreated += GridView1_RowCreated;
void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[1].Visible = false;
}
希望这有帮助
答案 1 :(得分:1)
<asp:GridView ID="gvUserInfo" runat="server" >
<Columns>
<asp:BoundField DataField="Column1" HeaderText="Column1" Visible="False" />
<asp:BoundField DataField="Column2" HeaderText="Column2" />
</Columns>
</asp:GridView>