2010-03-23 5 views
1

그리드 뷰에서 보이지 않는 열을 어떻게 만듭니 까?그리드 뷰에서 보이지 않는 열을 어떻게 만듭니 까?

dataGridView.Columns(0).Visible = False 

그러나 그 오류 "Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index"을 받고 : 나는 이것을 사용했습니다. 어떻게해야합니까?

+0

AutoGenerateColumns가 true로 설정되어 있습니까? 자동 생성 된 열은 Columns 컬렉션에 포함되어 있지 않습니다. – rodrigocl

답변

2

마지막으로 대답을 얻었습니다. 이것을 사용하여 열을 보이지 않게 할 수 있습니다.

Private Sub dataGridView_RowDataBound(_ 
    ByVal sender As Object, _ 
    ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs _ 
) Handles dataGridView.RowDataBound 
    If e.Row.RowType = DataControlRowType.DataRow OrElse _ 
     e.Row.RowType = DataControlRowType.Header OrElse _ 
     e.Row.RowType = DataControlRowType.Footer _ 
    Then 
     e.Row.Cells(1).Visible = False 
    End If 
End Sub 
+1

아쉽게, 고통스러운 방법입니다. 페이지의 PreRender 이벤트에서 열을 가져 와서 가시성을 설정하십시오. – slugster

+0

'if' 문이 필요합니까? – Matt

1

나는 왜 당신과 일하지 않는지 이해할 수 없습니다.

저의 작업은 저를 찾아서 - 적어도 C#에서.

DataGrid가 렌더링되거나 생성되기 전에 무엇이 잘못되었는지 확인하십시오.

1

"dataGridView.Columns (0) .Visible = False"문장은 괜찮 았으므로 색인을 수정하면됩니다. 열 및 셀 인덱스는 기본 1,하지 기지는 눈에 보이지 않는 첫 번째 열을 사용하게하려면 0

:

dataGridView.Columns (1) .Visible을 = 거짓 나를 위해 작동

.

관련 문제