화면 UI 컨트롤 개발 퀵 가이드
개요
HandStack은 다양한 UI 컨트롤을 제공하여 효율적인 웹 애플리케이션 개발을 지원합니다. 본 문서는 주요 UI 컨트롤들의 사용법과 메서드를 설명합니다.
목차
- syn.uicontrols.$auigrid - 데이터 그리드
- syn.uicontrols.$codepicker - 코드 도움 팝업
- syn.uicontrols.$contextmenu - 컨텍스트 메뉴
- syn.uicontrols.$dateperiodpicker - 기간 선택기
- syn.uicontrols.$datepicker - 날짜 선택기
- syn.uicontrols.$fileclient - 파일 업로드/다운로드
- syn.uicontrols.$select - 드롭다운 목록
syn.uicontrols.$auigrid
개요
$auigrid는 대량의 데이터를 효과적으로 표시하고 편집할 수 있는 그리드 컴포넌트입니다. 상용 라이브러리인 AUIGrid를 기반으로 합니다.
기본 사용법
HTML 마크업
<syn_auigrid id="grdDataGrid" syn-options="{
width: 800,
height: 400,
columns: [
['ID', 'ID', 100, false, 'text', false, 'center'],
['Name', '이름', 200, true, 'text', false, 'left'],
['Age', '나이', 100, true, 'numeric', false, 'right']
]
}" syn-events="['afterSelectionEnd']"></syn_auigrid>
JavaScript 이벤트 처리
grdDataGrid_afterSelectionEnd(elID, rowIndex, columnIndex, dataField, value) {
console.log('선택된 행:', rowIndex, '열:', columnIndex);
}
주요 메서드
데이터 관련 메서드
clear
그리드의 모든 데이터를 지웁니다.
syn.uicontrols.$auigrid.clear('grdDataGrid');
setValue
그리드에 데이터를 설정합니다.
var data = [
{ID: 1, Name: '홍길동', Age: 30},
{ID: 2, Name: '김철수', Age: 25}
];
syn.uicontrols.$auigrid.setValue('grdDataGrid', data);
getGridData
그리드의 모든 데이터를 가져옵니다.
var allData = syn.uicontrols.$auigrid.getGridData('grdDataGrid');
행(Row) 관련 메서드
insertRow
새로운 행을 추가합니다.
syn.uicontrols.$auigrid.insertRow('grdDataGrid', {
amount: 1
});
removeRow
선택된 행을 삭제합니다.
syn.uicontrols.$auigrid.removeRow('grdDataGrid');
removeRowByRowId
특정 행 ID로 행을 삭제합니다.
syn.uicontrols.$auigrid.removeRowByRowId('grdDataGrid', 'rowId');
countRows
총 행 수를 반환합니다.
var rowCount = syn.uicontrols.$auigrid.countRows('grdDataGrid');
updateRows
여러 행을 업데이트합니다.
syn.uicontrols.$auigrid.updateRows('grdDataGrid', updatedData);
셀(Cell) 관련 메서드
getDataAtCell
특정 셀의 데이터를 가져옵니다.
var cellValue = syn.uicontrols.$auigrid.getDataAtCell('grdDataGrid', 0, 1);
setDataAtCell
특정 셀에 데이터를 설정합니다.
syn.uicontrols.$auigrid.setDataAtCell('grdDataGrid', 0, 1, '새로운 값');
setDataAtRow
특정 행의 여러 셀에 데이터를 설정합니다.
var rowData = [
[0, 0, 'ID값'],
[0, 1, '이름값'],
[0, 2, '나이값']
];
syn.uicontrols.$auigrid.setDataAtRow('grdDataGrid', rowData);
getSourceDataAtRow
특정 행의 원본 데이터를 가져옵니다.
var rowData = syn.uicontrols.$auigrid.getSourceDataAtRow('grdDataGrid', 0);
선택 관련 메서드
selectCell
특정 셀을 선택합니다.
syn.uicontrols.$auigrid.selectCell('grdDataGrid', 0, 1);
getActiveRowIndex
현재 활성화된 행의 인덱스를 반환합니다.
var activeRow = syn.uicontrols.$auigrid.getActiveRowIndex('grdDataGrid');
getActiveColIndex
현재 활성화된 열의 인덱스를 반환합니다.
var activeCol = syn.uicontrols.$auigrid.getActiveColIndex('grdDataGrid');
열(Column) 관련 메서드
getColumnInfoList
열 정보 목록을 가져옵니다.
var columnInfo = syn.uicontrols.$auigrid.getColumnInfoList('grdDataGrid');
getColumnValues
특정 열의 모든 값을 가져옵니다.
var columnValues = syn.uicontrols.$auigrid.getColumnValues('grdDataGrid', 'Name');
setColumnPosition
열의 위치를 변경합니다.
syn.uicontrols.$auigrid.setColumnPosition('grdDataGrid', 'columnName', newPosition);
setColumnProperty
열의 속성을 설정합니다.
syn.uicontrols.$auigrid.setColumnProperty('grdDataGrid', 'columnName', 'width', 200);
setColumnWidth
열의 너비를 설정합니다.
syn.uicontrols.$auigrid.setColumnWidth('grdDataGrid', 'columnName', 150);
visibleColumns
열의 표시/숨김을 설정합니다.
syn.uicontrols.$auigrid.visibleColumns('grdDataGrid', [1, 2], false); // 숨김
syn.uicontrols.$auigrid.visibleColumns('grdDataGrid', [1, 2], true); // 표시
필터 관련 메서드
addCondition
필터 조건을 추가합니다.
syn.uicontrols.$auigrid.addCondition('grdDataGrid', 'Name', 'contains', '홍길동');
clearConditions
모든 필터 조건을 지웁니다.
syn.uicontrols.$auigrid.clearConditions('grdDataGrid');
유틸리티 메서드
getInitializeColumns
컬럼 초기화 정보를 가져옵니다.
var initColumns = syn.uicontrols.$auigrid.getInitializeColumns('grdDataGrid');
getSettings
그리드 설정을 가져옵니다.
var settings = syn.uicontrols.$auigrid.getSettings('grdDataGrid');
updateSettings
그리드 설정을 업데이트합니다.
syn.uicontrols.$auigrid.updateSettings('grdDataGrid', newSettings);
setControlSize
그리드의 크기를 설정합니다.
syn.uicontrols.$auigrid.setControlSize('grdDataGrid', {width: 1000, height: 500});
setFitColumnSize
열 크기를 자동 맞춤합니다.
syn.uicontrols.$auigrid.setFitColumnSize('grdDataGrid');
변환 메서드
colToProp
열 인덱스를 속성명으로 변환합니다.
var propName = syn.uicontrols.$auigrid.colToProp('grdDataGrid', 1);
propToCol
속성명을 열 인덱스로 변환합니다.
var colIndex = syn.uicontrols.$auigrid.propToCol('grdDataGrid', 'Name');
getPhysicalRowIndex
논리적 행 인덱스를 물리적 행 인덱스로 변환합니다.
var physicalIndex = syn.uicontrols.$auigrid.getPhysicalRowIndex('grdDataGrid', 0);
검증 메서드
checkEditValue
편집된 값의 유효성을 검사합니다.
var isValid = syn.uicontrols.$auigrid.checkEditValue('grdDataGrid', value);
checkEmptyValueCol
특정 열의 빈 값을 확인합니다.
var isEmpty = syn.uicontrols.$auigrid.checkEmptyValueCol('grdDataGrid', 'columnName');
checkUniqueValueCol
특정 열의 고유값을 확인합니다.
var isUnique = syn.uicontrols.$auigrid.checkUniqueValueCol('grdDataGrid', 'columnName');
checkValueCountCol
특정 열의 값 개수를 확인합니다.
var count = syn.uicontrols.$auigrid.checkValueCountCol('grdDataGrid', 'columnName');