SMART datagrid v1.4 > Concepts
실행 시간에 사용자가 데이터셀의 값을 직접 수정할 수 있는 방법은 셀 편집기 및 편집 가능한 셀 렌더러 이용, 클립보드 붙여넣기, 선택 영역 지우기 등이 있다. 특히 셀 편집기의 경우 값을 수정하지 않고 단지 편집기를 표시해서 감춰진 부분을 살피는 등의 용도로 사용할 수도 있다. 이 때, 그리드 UI 특성 상 데이터 컬럼 별, 데이터 행 별 혹은 데이터 셀 수준에서 사용자의 수정 가능 여부, 편집기 표시 여부등을 상세하게 관리할 필요가 생기는 데, Dataludi 그리드는 특정 데이터셀의 편집기 표시 여부를 editable, 셀 값을 수정할 수 있는 지의 여부를 readOnly 특성으로 관리할 수 있도록 여러 지점에서 속성이나 콜백 함수 및 이벤트 등을 제공한다.
편집하려는 셀에 편집기를 표시하기 전에 해당 셀의 editable 상태를 확인한다. 아래의 여러 경로를 순서대로 점검한 후 false가 되면 편집기가 표시되지 않는다.
속성 | 기본값 | 설명 |
---|---|---|
GridBase.readMode | false | true면 다른 설정들과 상관없이 모든 셀에서 편집하거나 수정할 수 없다. 즉 모든 셀에서 not editable이 된다. |
EditOptions.editable | true | false로 지정되면 다른 설정들과 상관없이 모든 셀은 not editable이 된다. |
DataColumn.editableCallback | null | 이 콜백 함수에서 명시적으로 Boolean false나 true를 리턴하면 그 값으로 editable이 결정되고 나머지 결정 절차는 취소된다. 값을 리턴하지 않으면 다음 결정 단계가 실행된다. |
EditOptions.editableCallback | null | 위 컬럼 콜백과 동일한 방식으로 실행된다. |
DataColumn.editable | true | false로 지정되면 이 컬럼에 포함된 셀들은 not editable이 된다. |
EditOptions.fixedColumnEditable | true | false로 지정되면 고정 컬럼들에 포함된 셀들은 not editable이 된다. |
EditOptions.fixedRowEditable | true | false로 지정되면 고정 행들에 포함된 셀들은 not editable이 된다. |
EditOptions.deletedRowEditable | false | true로 지정되면 삭제 상태의 행들에 포함된 셀들이 editable이 된다. |
편집하려는 셀에서 편집기 및 렌더러를 이용하거나 붙여넣기 혹은 선택 영역 지우기 등으로 값을 수정하기 전에 readOnly 상태를 확인한다. 아래의 여러 경로를 순서대로 점검한 후 true가 되면 값을 수정할 수 없다.
속성 | 기본값 | 설명 |
---|---|---|
GridBase.readMode | false | true면 다른 설정들과 상관없이 모든 셀에서 편집하거나 수정할 수 없다. 즉 모든 셀에서 readOnly가 된다. |
EditOptions.readOnly | false | true로 지정되면 다른 설정들과 상관 없이 모든 셀은 readOnly가 된다. 또, 행 수정, 추가, 삭제도 할 수 업다. |
DataField.updatable | false | 편집셀에 연결된 데이터필드가 수정할 수 없는 필드이거나 updatable이 false면 readOnly가 된다. |
DataColumn.readOnlyCallback | null | 이 콜백 함수에서 명시적으로 Boolean false나 true를 리턴하면 그 값으로 readOnly가 결정되고 나머지 결정 절차는 취소된다. 값을 리턴하지 않으면 다음 결정 단계가 실행된다. |
EditOptions.readOnlyCallback | null | 위 컬럼 콜백과 동일한 방식으로 실행된다. |
DataColumn.readOnly | false | true로 지정되면 이 컬럼에 포함된 셀들은 readOnly가 된다. |
EditOptions.fixedColumnReadOnly | false | true로 지정되면 고정 컬럼들에 포함된 셀들은 readOnly가 된다. |
EditOptions.fixedRowReadOnly | false | true로 지정되면 고정 행들에 포함된 셀들은 readOnly가 된다. |
EditOptions.deletedRowReadOnly | true | true로 지정되면 삭제 상태의 행들에 포함된 셀들은 readOnly가 된다. |