Row Editing


행 편집관련 여러가지 Option을 설정 할 수 있다.

* 영상은 자동 재생되며, 영상화면 왼쪽 윗부분에 재생목록을 클릭해서 원하는 목록을 재생 할 수 있습니다.

  - Editing Options : 편집 관련 옵션이다.
     1. Grid Read Mode : 체크 시 편집 및 수정이 불가능하다.
     2. ReadOnly : 체크 시 데이터 값 수정이 불가능하다.
     3. Editable : 체크 시 데이터 값 수정이 가능해진다.
     4. Updatable : 체크하고 'Update Row' 실행시 값 수정모드가 된다.
     5. Insertable : 체크하고 'Insert Row' 실행시 새로운 값을 삽입 할 수 있다.
     6. Appendable : 체크하고 'Append Row' 실행시 새로운 값을 삽입 할 수 있다.
     7. Update By Cell : 체크하고 값 수정시 확인절차없이 바로 값 변경이 된다.
     8. Insert By Cell : 체크하고 값 삽입시 확인절차없이 바로 값 변경이 된다.
     9. Force Update : 체크 시 'Update Row' 누르고 Commit 하면 값 변경과 관계없이 Update 상태가 된다.
     10. Force Insert : 체크 시 'Insert Row' 누르고 Commit 하면 값 변경과 관계없이 Insert 상태가 된다.
  - Column Edit Options : 선택한 칼럼에서 편집 관련 옵션이다.
     1. ReadOnly : 체크 시 데이터 값 수정이 불가능하다.
     2. Editable : 체크 시 데이터 값 수정이 가능해진다.
  - Update Row : 포커스 데이터행 수정을 시작한다.
  - Insert Row : 포커스 데이터행 위치에 신규 행 추가를 시작한다.
  - Insert Row After : 포커스 데이터행 아래에서 신규 행 추가를 시작한다.
  - Append Row : 마지막 행 다음에 신규 행 추가를 시작한다.
  - Swipe Action : Swipe 액션들을 표시할 데이터행을 먼저 선택하세요.
  - Commit : 행 편집 완료를 시도한다.
  - Cancel : 행 편집을 취소한다.
  - Export to local : 현재 작성된 데이터행을 기반으로 실행시 'excel' 파일의 형태(.xlsx)로 데이터가 그대로 넘어간다.
  - Export to email : 현재 작성된 데이터행을 기반으로 실행시 '.excel' 파일이 첨부되며 메일을 통해 원하는 주소로 전송 할 수 있다.
 소스보기
DemoAction("Editng Options...") { let grid = ($0 as! GridComponent).gridView as! GridView let options = grid.editOptions let form = self.form form.setValue("readMode", grid.isReadMode) form.setValue("readOnly", options.isReadOnly) form.setValue("editable", options.isEditable) form.setValue("updatable", options.isUpdatable) form.setValue("insertable", options.isInsertable) form.setValue("appendable", options.isAppendable) form.setValue("updateByCell", options.isUpdateByCell) form.setValue("insertByCell", options.isInsertByCell) form.setValue("forceUpdate", options.isForceUpdate) form.setValue("forceInsert", options.isForceInsert) form.setValue("deletable", options.isDeletable) form.setValue("erasable", options.isErasable) FormDialog2().show(parent: grid, form: form) { form in let readMode = form.getBool("readMode") let readOnly = form.getBool("readOnly") let editable = form.getBool("editable") let updatable = form.getBool("updatable") let insertable = form.getBool("insertable") let appendable = form.getBool("appendable") let updateByCell = form.getBool("updateByCell") let insertByCell = form.getBool("insertByCell") let forceUpdate = form.getBool("forceUpdate") let forceInsert = form.getBool("forceInsert") let deletable = form.getBool("deletable") let erasable = form.getBool("erasable") grid.isReadMode = readMode options.isReadOnly = readOnly options.isEditable = editable options.isUpdatable = updatable options.isInsertable = insertable options.isAppendable = appendable options.isUpdateByCell = updateByCell options.isInsertByCell = insertByCell options.isForceUpdate = forceUpdate options.isForceInsert = forceInsert options.isDeletable = deletable options.isErasable = erasable } },
DemoAction("Column Edit Options...") { let grid = ($0 as! GridComponent).gridView as! GridView guard let column = grid.focusedDataColumn else { Utils.alert("편집 옵션을 설정할 컬럼을 먼저 선택하세요.") return } let form = self.formColumn self.formColumn.setValue("readOnly", column.isReadOnly) self.formColumn.setValue("editable", column.isEditable) FormDialog2().show(parent: grid, form: form) { form in let readOnly = form.getBool("readOnly") let editable = form.getBool("editable") column.isReadOnly = readOnly column.isEditable = editable } },
DemoAction("Update Row") { let grid = ($0 as! GridComponent).gridView as! GridView let row = grid.focusedRow if row >= 0 { grid.updateRow(row) } else { Utils.alert("수정할 데이터행을 먼저 선택하세요.") } },
DemoAction("Insert Row") { let grid = ($0 as! GridComponent).gridView as! GridView let row = grid.focusedRow if row >= 0 { grid.insertRow(at: row, insertAfter: false) } else { Utils.alert("신규 행이 추가될 위치의 데이터행을 먼저 선택하세요.") } },
DemoAction("Insert Row After") { let grid = ($0 as! GridComponent).gridView as! GridView let row = grid.focusedRow if row >= 0 { grid.insertRow(at: row, insertAfter: true) } else { Utils.alert("신규 행이 추가될 위치의 데이터행을 먼저 선택하세요.") } },
DemoAction("Append Row") { let grid = ($0 as! GridComponent).gridView as! GridView grid.appendRow() },
DemoAction("Swipe Action") { let grid = ($0 as! GridComponent).gridView as! GridView let row = grid.focusedRow if row >= 0 { grid.swipeRow = row } else { Utils.alert("Swipe 액션들을 표시할 데이터행을 먼저 선택하세요.") } },
DemoAction("Commit") { let grid = ($0 as! GridComponent).gridView as! GridView try grid.commit() },
DemoAction("Cancel") { let grid = ($0 as! GridComponent).gridView as! GridView grid.cancel() },