Get GridDataSet Rows

Grid DataSet 클래스에는 데이터 세트에 지정된 값들을 가져오는 여러 가지 method가 포함되어 있다. 한 셀의 값이나, 여러 행의 값들을 한 번에 가져올 수 있다. 또, 그리드에서 사용자가 선택하거나 check 한 행들의 값을 가져올 수도 있다.

1. 셀 값 가져오기

GridDataSet.getValue나 GridBase.getValueAt method는 특정한 셀에 연결된 데이터 세트의 값을 돌려보낸다.

int row = grid.focusedDataRow(); GridColumn column = grid.focusedColumn(); if (row < 0 || column == null) { Utils.alert(grid.getContext(), "값을 가져올 셀을 선택하세요."); return; } int field = column.getDataIndex(); if (field >= 0) { Object v = m_ds.getValue(row, field); Object[] vals = m_ds.getEmptyValues(); vals[field] = v; clearRows(); // 10행 이후의 값들을 지운다. m_ds.appendRow(vals); }
let ds = self.m_ds! let grid = ($0 as! GridComponent).gridView let row = grid.focusedDataRow let column = grid.focusedColumn if row < 0 || column == nil { Utils.alert("값을 가져올 셀을 선택하세요.") return } let field = column!.dataIndex if field >= 0 { let v = try ds.getValue(row: row, field: field) var vals = ds.getEmptyValues() vals[field] = v try self.clearRows() // 10행 이후의 값들을 지운다. try ds.appendRow(values: vals) }
2. 행 값 가져오기

GridDataSet.getValues(row)는 지정한 행의 필드 값들을 배열로 되돌린다.

int row = grid.focusedDataRow(); if (row < 0) { Utils.alert(grid.getContext(), "값을 가져올 행을 선택하세요."); return; } Object[] vals = m_ds.getValues(row); clearRows(); // 10행 이후의 값들을 지운다. m_ds.appendRow(vals);
let ds = self.m_ds! let grid = ($0 as! GridComponent).gridView let row = grid.focusedDataRow if row < 0 { Utils.alert("값을 가져올 행을 선택하세요.") return } let vals = try ds.getValues(row: row) ?? ds.getEmptyValues() try self.clearRows() // 10행 이후의 값들을 지운다. try ds.appendRow(values: vals)
3. 여러 행의 값 가져오기

GridDataSet.getValues(row, count)를 호출해서 row 행부터 count 수에 해당하는 행들의 값을 가져올 수 있다.

int row = grid.focusedDataRow(); if (row < 0) { Utils.alert(grid.getContext(), "값을 가져올 시작 행을 선택하세요."); return; } Object[][] vals = m_ds.getValues(row, 3); clearRows(); m_ds.appendRows(vals);
let ds = self.m_ds! let grid = ($0 as! GridComponent).gridView let row = grid.focusedDataRow if row < 0 { Utils.alert("값을 가져올 시작 행을 선택하세요.") return } let vals = ds.getValues(row: row, count: 3) try self.clearRows() try ds.appendRows(values: vals)
4. 선택 행의 값 가져오기

GridBase.getSelectedDataRows() 와 GridDataSet.getValues(rows)를 이용하면 사용자가 선택한 행들의 값들을 가져올 수 있다.

int[] rows = grid.getSelectedDataRows(); if (rows.length < 0) { Utils.alert(grid.getContext(), "값을 가져올 행들을 선택하세요."); return; } Object[][] vals = m_ds.getValues(rows); clearRows(); m_ds.appendRows(vals);
let ds = self.m_ds! let grid = ($0 as! GridComponent).gridView let rows = grid.getSelectedDataRows() if rows.count < 0 { Utils.alert("값을 가져올 시작 행들을 선택하세요.") return } let vals = ds.getValues(rows: rows) try self.clearRows() try ds.appendRows(values: vals)
실행 화면

아래는 Android 전체 실행 화면이다.

아래는 iPhone 전체 실행 화면이다.