-
C# WinForms DevExpress GridControl에서 셀 편집(SetRowCellValue)이 되지 않을 때, 체크가 안 될 때 등닷넷/WinForms 2021. 6. 14. 16:53반응형
DataGridView 대신에 데브익스프레스에서 제공해주는 GridControl를 사용하면 편리한 점이 많아 사용하고 있다.
그런데 하나의 칼럼을 RepositoryItemCheckEdit으로 설정해 두었는데
체크하려고 클릭하면 작동을 하지 않고, 아래의 코드처럼 SetRowCellValue도 먹지 않는다.private void CheckAll() { GridColumn selectColumn = this.gridView1.Columns.ColumnByName("cSelect"); for (int i = 0; i < this.gridView1.DataRowCount; i++) { this.gridView1.SetRowCellValue(i, selectColumn, true); } }
한참을 헤맨 것 같다.
SetRowCellValue가 먹지 않는 이유, RepositoryItemCheckEdit 칼럼의 셀들에 있는 체크박스들이 체크가 되지 않는 이유.
원인은 생각보다 간단한 이유였다.
gridView에서 Run Designer를 실행하고, Views에서 OptionsBehavior에 있는 Editable을 False로 설정해놨기 때문이었다.
즉, 칼럼 자체 옵션에서 편집이 가능하게 허용해도 위의 Views 옵션이 False로 설정되어 있으면 Views 옵션을 따라가기 때문이었던 것이다.칼럼 하나만 편집이 가능하고 그 외에는 편집이 안 되게 하려면 일단 전체적으로 편집이 가능하게 Views의 Editable을 False로 설정 했던걸 True로 변경한다.
그 다음 Columns에서 각 칼럼별로 OptionsColumn에 AllowEdit에서 설정한다.체크박스가 있는 칼럼은 OptionsColumn에서 AllowEdit을 True로 설정한다.
참고로 헤더에도 체크박스를 두었는데 옵션이 True로 되어 있으면 헤드에 있는 체크박스를 클릭할 때마다 데이터가 정렬이 되므로 정렬이 안 되게 AllowSort를 False로 설정했다.그 외의 칼럼들은 편집이 되면 안 되므로 OptionsColumn에서 AllowEdit을 False로 설정한다.
반응형'닷넷 > WinForms' 카테고리의 다른 글
C# ChromiumWebBrowser에서 JavaScript 함수 호출과 웹에서 C# 메소드 호출하는 방법 (2) 2021.08.03 C# WinForms DevExpress GridControl 체크박스칼럼에서 체크한 것이 고정이 안 될 때, When the check is not fixed in the check column (0) 2021.07.07 C# 폼에서 제목표시줄을 클릭했을 때 클릭이벤트가 발생되게 하는 방법 (0) 2021.05.13 C# 윈폼에서 배경 불투명도 조절하기 WinForms Opacity (0) 2020.09.30 C# WinForms Datagridview Paging, 데이타그리드뷰에서 데이터를 페이지로 나누기 (0) 2019.05.03