2013-07-24 2 views
0

나는 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를 통해 찾을 수 있지만 내부적으로는 동일한 작업을 수행하고 있습니다.

+0

도이 질문에 대답하십시오의 종류 비슷하지만 몇 가지 측면에서 다른 ... http://stackoverflow.com/questions/21478906/hiding-additional-attributes-in-a-list-of- object-to-be-bind-to-a-gridview-c –

답변

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> 
+0

감사합니다 Nitin,이 작품은 ... –

1

당신은 필요 Browsable(false) 속성

당신은 내가 당신의 경우에 생각 당신이 ReservationDomain 클래스에서

편집

GridView1.RowCreated -= GridView1_RowCreated; 
    GridView1.RowCreated += GridView1_RowCreated; 

    void GridView1_RowCreated(object sender, GridViewRowEventArgs e) 
    { 
     e.Row.Cells[1].Visible = false; 
    } 
이것을 설정해야합니다 사용자 정의 클래스의 속성이 설정해야
public class MyClass 
{ 
    [Browsable(false)] 
    public int MyProperty {get;set;}//property you don't want to show 
} 

희망이 도움이되었습니다

+0

죄송합니다. 사용 위치를 이해하지 못했습니다. 내 gridview 해당 속성이 없습니다. .NET 4.0을 사용 중입니다. 죄송합니다. 맞춤 클래스를 사용 하시겠습니까? –

+0

@UserM 내 업데이트를 확인하십시오 –

+0

@UserM 예 당신은 그것을 가지고 –

관련 문제