본문 바로가기

XtraGrid

[Devexpress] Grid 의 CheckEdit 컬럼의 헤더에 전체선택(해제)기능 넣기 == 여기에서 체크박스가 표시되는 Column 의 FieldName 은 "Select"로 함 == 1. 다음을 전역변수로 선언 /// /// CheckBox 로 표시될 ColumnEdit /// RepositoryItemCheckEdit _repChkYN = new RepositoryItemCheckEdit(); /// /// 전체선택 체크박스 상태 /// private bool _stateAllSel = false; 2. ColumnEdit 기본설정 및 체크박스를 표시할 컬럼에 ColumnEdit 를 지정 _repChkYN.ValueChecked = "Y"; _repChkYN.ValueUnchecked = "N" _repChkYN.ValueGrayed = ""; colSel.ColumnEdit = _r.. 더보기
[Devexpress] Grid 의 Row State 가 반영되는 시점 XtraGrid 사용시 동일한 행에서 특정 컬럼의 값을 변경하는 경우는 해당 행의 RowState 가 바로 변경되지 않음. 기본적으로 다른 행으로 이동이 되는 경우 반영이 됨. 동일한 행에서 데이터 변경시 강제로 RowState 가 반영되게 할려면 DataRow.EndEdit() 를 호출해서 강제로 RowState 를 변경해주면됨 예) gvMain.GetFocusedDataRow().EndEdit(); 더보기
[Devexpresss] Group Level Indent Pixel 가져오기 ((GridViewInfo)gvMain.GetViewInfo()).CalcLevelIndent() * gvMain.GroupCount gvMain.LevelIndent 의 기본값인 -1 일때도 위 소스로 실제 Pixel 을 구해올 수 있음 더보기
[DevExpress] DisableThreadingProblemsDetection 문제 DevExpress 를 8.1.6 을 쓰다가 전체적으로 8.3.3 으로 업그레이드 했다... 리빌드 할땐 문제없다... but... 런타임에 위와 같은 에러가 생긴다... 머지?? 처음엔 내가 Catch 안한 오류가 있나 해서 소스를 다시 한번 살펴봤다... 근데.. 소스는 바뀐게 없는데... 이상하다 그래서 자세히 살펴보니 Cross Thread... 얼레.. 분명히 왜만한건 InvokeRequired 체크해서 다 되어있는데.... 물론 이 부분도 소스를 수정하지 않았기 때문에 이전에 없던 문제인데... 말이 안된다... 그렇다고 지금 당장 gridcontrol 함수에 일일이 Invoke 형태로 변경하기도 그렇고.... 그래서 DevExpress 사이트에서 해결 방법을 찾아보기로 했다 http://ww.. 더보기
[Devexpress] Xtragrid 에서 선택된 행 유지 출처 : http://www.devexpress.com/Support/Center/KB/p/A364.aspx?searchtext=two+gridview&tid=4b2d6f97-c4ae-48fc-87f6-8c5da6541e40&pid=-1 정렬 이벤트에서 미리 View 와 Rowhandle 을 잡아두고 정렬이 끝나면 이전 잡아둔 행으로 이동 새로고침 될때 사용하면 되겠네... using DevExpress.XtraGrid; using DevExpress.XtraGrid.Views.Grid; ... object SaveFocusedRow = null; private void gridView_StartSorting(object sender, System.EventArgs e) { GridView view = .. 더보기
[DevExpress] Grid 의 특정 Row Handle 과 Grid DataSource 의 Index XPO 와 Grid 를 연동해서 작업을 하던중 알아낸 차이점 Grid 의 선택된 RowHandle 받기 - gridView2.GetSelectedRows() 실제 Grid 의 선택된 Row 의 실제 데이터소스의 Index 받아오기 - gridView2.GetDataSourceRowIndex(gridView2.GetSelectedRows()[0]) 2008-09-02 추가 그리고.. 추가로 위의 소스로 데이터를 한개의 Row 씩 순차적으로 삭제할때(Grid, DataSource 모두)해당 Row 를 삭제한후 다시 RowHandle 및 DataSourceRowIndex 를 받아와야함 즉, 삭제되기 전의 Handle 또는 RowIndex 가 삭제된 후에는 변경이 되더라... 쩝 -+-;; 더보기
[DevExpress] Grid 에서 그룹Row 를 제외한 Row Handle List 받아오기 private IList GetSelectDataSourceRowIndexWithoutGroup() { IList _list = new List(); try { int[] _arrHandles = gridView2.GetSelectedRows(); foreach(int _handle in _arrHandles) { if(!gridView2.IsGroupRow(_handle)) { _list.Add(gridView2.GetDataSourceRowIndex(_handle)); } } } catch(Exception ex) { MyLogger.SendLog(EnNlogLevel.ERROR, ex.ToString(), "GetSelectRowhandleCountWithoutGroup"); return new L.. 더보기