일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 오라클
- oracle
- 윈도우10
- windows10
- Python
- rs422
- 딥러닝
- MX Component
- Serial
- pymssql
- c#
- MSSQL PYTHON
- 자본주의
- matplot
- MEAN Stack
- 장고
- Visual Studio Code
- tensorflow
- MSSQL
- sql developer
- 크롤링
- PYTHON MSSQL
- rs485
- M2M
- 티스토리 초대장
- django
- scrapy
- 파이썬
- vscode
- 텐서플로우
- Today
- Total
안까먹을라고 쓰는 블로그
[C#] C1FlexGrid - Edit Mode 본문
https://www.grapecity.com/componentone/docs/win/online-flexgrid/edit-mode.html
FlexGrid 에서 편집 모드는 마우스 클릭이나 키보드를 사용하여 런타임에 호출할 수 있습니다. 그리드가 편집 모드인지 여부를 프로그래밍 방식으로 확인하려면 Editor 속성 값을 읽을 수 있습니다 . 그리드가 편집 모드에 있는 경우 속성은 TextBox 또는 ComboBox 와 같이 편집기로 사용 중인 컨트롤에 대한 참조를 반환합니다 . 그러나 그리드가 편집 모드가 아니면 속성이 null 을 반환합니다 .
프로그래밍 방식으로 그리드를 편집 모드로 전환하려면 StartEditing 메서드를 사용하고 FinishEditing 메서드 를 호출하여 편집을 완료할 수 있습니다 . PreserveEditMode 속성 을 사용하여 셀을 탐색하는 동안 그리드에서 편집 모드 상태를 유지할 수도 있습니다 .
또한 FlexGrid는 편집 프로세스를 보다 쉽게 제어할 수 있도록 다양한 이벤트를 발생시킵니다. 아래 표는 편집 과정에서 그리드에 의해 발생하는 이벤트의 순서를 나열합니다.
Event Name | Description |
BeforeEdit | 이벤트는 편집 가능한 셀이 선택될 때마다 발생합니다. 이벤트의 Cancel 매개변수를 true 로 설정하여 셀이 편집되는 것을 방지할 수 있습니다 . 적절한 드롭다운 버튼이 셀에 그려지도록 ComboList 속성 을 수정할 수도 있습니다 . 사용자는 이 후에 실제로 편집을 시작하지 않을 수 있습니다. 그는 단순히 선택 항목을 다른 셀이나 컨트롤로 이동할 수 있습니다. |
StartEdit | 이벤트는 사용자가 실제로 키를 입력했거나 셀의 드롭다운 버튼을 클릭했고 실제로 편집을 시작하려는 것을 제외하고 BeforeEdit 와 유사합니다. 이 시점에서 여전히 편집을 취소할 수 있습니다. 컨트롤이 사용해야 하는 편집기 유형을 아직 결정하지 않았기 때문에 이 시점에서 Editor 속성 은 여전히 null 입니다. 이 시점에서 Editor 속성에 사용자 지정 편집기를 할당할 수 있습니다. |
ChangeEdit | 이벤트는 editor.TextChanged 이벤트의 래퍼입니다. 이벤트는 편집기의 내용이 변경될 때 발생합니다. 이 이벤트를 사용하여 편집기에서 현재 콘텐츠를 추적할 수 있습니다. |
SetupEditor | 이벤트는 편집기 컨트롤이 생성되고 셀을 편집하도록 구성된 후 발생하지만 표시되기 전에 발생합니다. 이 시점에서 편집기 속성을 변경할 수 있습니다(예: TextBox 편집기에서 사용할 최대 길이 또는 암호 문자 설정). 자체 이벤트 핸들러를 편집기에 연결할 수도 있습니다. |
ValidateEdit | 이벤트는 편집기 값이 그리드에 다시 복사되기 전에 사용자가 편집을 완료하면 시작됩니다. 그리드에서 원래 값을 검색하여 검사할 수 있습니다(이벤트는 셀의 좌표를 제공함). Editor 속성(예: Editor.Text)을 통해 그리드에 할당할 새 값을 확인할 수 있습니다 . 새 값이 셀에 유효하지 않은 경우 취소 매개변수를 true 로 설정 하고 그리드는 편집 모드로 유지됩니다. 셀을 편집 모드로 유지하는 대신 원래 값을 복원하고 편집 모드를 종료하려면 Cancel 매개 변수를 true 로 설정한 다음 FinishEditing 메서드 를 호출합니다 . |
LeaveEdit | 이 이벤트는 그리드 컨트롤이 편집 모드를 종료한 후 발생합니다. 이 이벤트를 사용하여 새 셀 내용을 승인 또는 거부하거나 커밋할 편집기 내용을 변경할 수 있습니다. |
AfterEdit | 이 이벤트는 새 값이 셀에 적용되고 편집기가 비활성화된 후에 시작됩니다. 이 이벤트를 사용하여 셀 값에 따라 달라지는 모든 항목(예: 부분합 또는 정렬)을 업데이트할 수 있습니다. |
또한 키보드 조작과 관련된 이벤트가 거의 없으며 키를 눌렀을 때 발생합니다. 그리드가 편집 모드에 있을 때 발생한다는 사실을 제외하고는 System.Windows.Forms.Control 클래스 의 해당 클래스와 유사 합니다.
Event Name | Description |
KeyDownEdit | 이 이벤트는 그리드가 편집 모드에 있고 키를 눌렀을 때 발생합니다. 이 이벤트를 사용하여 커서 이동과 같이 키를 누른 상태에서 작업을 한 번 또는 여러 번 수행할 수 있습니다. |
KeyPressEdit | 이 이벤트는 그리드가 편집 모드에 있고 문자 키를 눌렀을 때 발생합니다. 이 이벤트를 사용하여 셀 편집기에서 입력 처리와 같은 입력과 관련된 모든 작업을 수행할 수 있습니다. |
KeyUpEdit | 이 이벤트는 그리드가 편집 모드에 있고 키를 놓을 때 발생합니다. 이 이벤트를 사용하여 KeypressEdit 논리가 적용된 후에 실행되는 논리를 배치할 수 있습니다. |
편집 비활성화
https://www.grapecity.com/componentone/docs/win/online-flexgrid/disable-editing.html
- 그리드 편집 비활성화
// Disable grid editing
c1FlexGrid1.AllowEditing = false;
- 행 또는 열 편집 비활성화
// Disable editing of third row
c1FlexGrid1.Rows[3].AllowEditing = false;
// Disable editing of third column
c1FlexGrid1.Cols[3].AllowEditing = false;
- 셀 편집 비활성화
// Disable cell editing
private void C1FlexGrid1_BeforeEdit(object sender, RowColEventArgs e)
{
if ((e.Col == 4) && (e.Row == 2))
{
e.Cancel = true;
}
}
끝~
'Language > C#' 카테고리의 다른 글
[C#] 컴파일러 오류번호로 문제사항 확인 및 조치 (0) | 2022.04.15 |
---|---|
[C#] PivotGrid 사용하기 (Feat. DevExpress) (0) | 2022.04.06 |
[C#] C1FlexGrid - AllowSortingEnum (0) | 2022.04.05 |
[C#] C1FlexGrid - AllowMergingEnum (Feat. 셀 합치기 옵션) (0) | 2022.04.05 |
[C#] decompiler (0) | 2022.03.31 |