2015-01-09 2 views
0

VB.NET에서 작업 중이며 여러 열이있는 datagridview가 있습니다. 첫 번째는 checkboxcolumn입니다. 사용자가 선택할 수있는 행의 수를 제한하는 기능을 추가하고 싶습니다. 예를 들어, DataGridview에 10 개의 항목이 있지만 5 개의 체크 박스 만 선택할 수 있습니다. 누구든지이 문제를 해결하는 방법에 대한 아이디어가 있습니까?최대 수 확인란 열 datagridview

답변

0

datagridview의 읽기 전용 속성을 사용하여 edit.and for 루프를 사용하면 모든 행을 비활성화 할 수 있습니다.

for i=5 to datagridview1.rows.count-1 

dataGridView1.Rows[i].Cells[columnindex].ReadOnly = true; 

next 

열 인덱스에서 비활성화 할 열의 인덱스를 지정하십시오.이 코드는 datagridview의 6 번째 행부터 마지막 ​​행까지의 편집을 비활성화합니다.

0

당신은 ViewStateCheckBoxes의 상태를 유지하고 당신에게주는 배열 목록의 길이를 확인하실 수 있습니다

Dim CheckBoxArray As ArrayList 

If ViewState("CheckBoxArray") IsNot Nothing Then 

    CheckBoxArray = DirectCast(ViewState("CheckBoxArray"), ArrayList) 

Else 

    CheckBoxArray = New ArrayList() 

End If 

을 검사 항목 없음 추가 ViewState

If chkAll.Checked Then 

    If CheckBoxArray.IndexOf(checkAllIndex) = -1 Then 

     CheckBoxArray.Add(checkAllIndex) 

    End If 

Else 

    If CheckBoxArray.IndexOf(checkAllIndex) <> -1 Then 

     CheckBoxArray.Remove(checkAllIndex) 

     CheckAllWasChecked = True 

    End If 

End If 
에서 항목 제거