syn.uicontrols.$grid
syn_grid 컨트롤은 [유료] handsontable를 이용하여 개발됩니다.
<div>
<div>예시</div>
<syn_grid id="grdGrid" syn-options="{autoColumnSize: true,
columns: [
['PersonID', '사용자ID', 200, false, 'button', false, 'center', null, null, {placeholder: '빈 값', sorting: true, clearBorder: true, color: 'red', bold: true, toCurrency: true}],
['UserName', '사용자', 200, false, 'safehtml', false, 'left'],
['MaritalStatus', '혼인여부', 200, false, {
columnType: 'checkbox2',
isSelectAll: true
}, false, 'center'],
['ReligionYN', '종교여부', 200, false, {
columnType: 'radio'
}, false, 'center'],
['SUBJECTID', '학과코드ID', 140, true, 'text', false, 'left','M01'],
['SUBJECTNAME', '학과명', 160, false, {
columnType: 'codehelp',
dataSourceID: 'CH005',
local: false,
codeColumnID: 'SUBJECTID'
}, false, 'left','M01'],
['GenderType', '성별ID', 200, false, 'text', false, 'left'],
['GenderTypeName', '성별', 200, false, 'text', false, 'left'],
['CreateDateTime', '입력일자', 200, false, 'date', false, 'left']
],
keyLockedColumns: ['PersonID', 'UserName'],
isContainFilterHeader: true,
dropdownMenu: true,
autoInsertRow: true,
controlText: '데모예제',
importFileColumns: 'all',
}" syn-events="['afterSelectionEnd', 'beforeKeyDown', 'afterCreateRow']" style="width: 960px; border: 1px solid;"></syn_grid>
</div>
<div>
<input type="button" id="btnDynamicData" value="DynamicData" syn-events="['click']" />
<input type="button" id="btnPseudoStyle" value="PseudoStyle" syn-events="['click']" />
<input type="button" id="btnGetValueRow" value="getValue Row" syn-events="['click']" />
<input type="button" id="btnGetValueList" value="getValue List" syn-events="['click']" />
<input type="button" id="btnSetValue" value="setValue" syn-events="['click']" />
<input type="button" id="btnClear" value="clear" syn-events="['click']" />
<input type="button" id="btnGetInitializeColumns" value="getInitializeColumns" syn-events="['click']" />
<input type="button" id="btnGetSettings" value="getSettings" syn-events="['click']" />
<input type="button" id="btnUpdateSettings" value="updateSettings" syn-events="['click']" />
<input type="button" id="btnUpdateSettings1" value="updateSettings1" syn-events="['click']" />
<input type="button" id="btnUpdateSettings2" value="updateSettings2" syn-events="['click']" />
<input type="button" id="btnCountRows" value="countRows" syn-events="['click']" />
<input type="button" id="btnInsertRow" value="insertRow" syn-events="['click']" />
<input type="button" id="btnRemoveRow" value="removeRow" syn-events="['click']" />
<input type="button" id="btnLoadData" value="loadData" syn-events="['click']" />
<input type="button" id="btnIsUpdateData" value="IsUpdateData" syn-events="['click']" />
<input type="button" id="btnGetFlag" value="getFlag" syn-events="['click']" />
<input type="button" id="btnSetFlag" value="setFlag" syn-events="['click']" />
<input type="button" id="btnGetDataAtCell" value="getDataAtCell" syn-events="['click']" />
<input type="button" id="btnSetDataAtCell" value="setDataAtCell" syn-events="['click']" />
<input type="button" id="btnGetCellMeta" value="getCellMeta" syn-events="['click']" />
<input type="button" id="btnSetCellMeta" value="setCellMeta" syn-events="['click']" />
<input type="button" id="btnGetUpdateData" value="getUpdateData" syn-events="['click']" />
<input type="button" id="btnGetPhysicalRowIndex" value="getPhysicalRowIndex" syn-events="['click']" />
<input type="button" id="btnGetPhysicalColIndex" value="getPhysicalColIndex" syn-events="['click']" />
<input type="button" id="btnGetSourceDataAtRow" value="getSourceDataAtRow" syn-events="['click']" />
<input type="button" id="btnVisibleColumns" value="visibleColumns" syn-events="['click']" />
<input type="button" id="btnVisibleRows" value="visibleRows" syn-events="['click']" />
<input type="button" id="btnUnHiddenRows" value="unHiddenRows" syn-events="['click']" />
<input type="button" id="btnUnHiddenColumns" value="unHiddenColumns" syn-events="['click']" />
<input type="button" id="btnPropToCol" value="propToCol" syn-events="['click']" />
<input type="button" id="btnColToProp" value="colToProp" syn-events="['click']" />
<input type="button" id="btnGetColHeader" value="getColHeader" syn-events="['click']" />
<input type="button" id="btnCountCols" value="countCols" syn-events="['click']" />
<input type="button" id="btnGetSelected" value="getSelected" syn-events="['click']" />
<input type="button" id="btnGetActiveRowIndex" value="getActiveRowIndex" syn-events="['click']" />
<input type="button" id="btnGetActiveColIndex" value="getActiveColIndex" syn-events="['click']" />
<input type="button" id="btnSelectCell" value="selectCell" syn-events="['click']" />
<input type="button" id="btnExportFile" value="exportFile" syn-events="['click']" />
<input type="button" id="btnExportAsString" value="exportAsString" syn-events="['click']" />
<input type="button" id="btnImportFile" value="importFile" syn-events="['click']" />
<input type="button" id="btnGetGridControl" value="getGridControl" syn-events="['click']" />
<input type="button" id="btnGetGridSetting" value="getGridSetting" syn-events="['click']" />
<input type="button" id="btnGetColumnWidths" value="getColumnWidths" syn-events="['click']" />
<input type="button" id="btnScrollViewportTo" value="scrollViewportTo" syn-events="['click']" />
<input type="button" id="btnIsEmptyRow" value="isEmptyRow" syn-events="['click']" />
<input type="button" id="btnIsEmptyCol" value="isEmptyCol" syn-events="['click']" />
<input type="button" id="btnGetDataAtRow" value="getDataAtRow" syn-events="['click']" />
<input type="button" id="btnGetDataAtCol" value="getDataAtCol" syn-events="['click']" />
<input type="button" id="btnGetSourceDataAtCol" value="getSourceDataAtCol" syn-events="['click']" />
<input type="button" id="btnSetDataAtRow" value="setDataAtRow" syn-events="['click']" />
<input type="button" id="btnValidateColumns" value="validateColumns" syn-events="['click']" />
<input type="button" id="btnValidateRows" value="validateRows" syn-events="['click']" />
<input type="button" id="btnGetLogicalRowIndex" value="getLogicalRowIndex" syn-events="['click']" />
<input type="button" id="btnGetLogicalColIndex" value="getLogicalColIndex" syn-events="['click']" />
<input type="button" id="btnGetFirstShowColIndex" value="getFirstShowColIndex" syn-events="['click']" />
<input type="button" id="btnGetLastShowColIndex" value="getLastShowColIndex" syn-events="['click']" />
<input type="button" id="btnAddCondition" value="addCondition" syn-events="['click']" />
<input type="button" id="btnRemoveCondition" value="removeCondition" syn-events="['click']" />
<input type="button" id="btnClearConditions" value="clearConditions" syn-events="['click']" />
<input type="button" id="btnMerge" value="Merge" syn-events="['click']" />
<input type="button" id="btnUnMerge" value="UnMerge" syn-events="['click']" />
<input type="button" id="btnIsCellClassName" value="IsCellAlert" syn-events="['click']" />
<input type="button" id="btnSetCellClassName" value="SetCellClassName" syn-events="['click']" />
<input type="button" id="btnRefreshSummary" value="RefreshSummary" syn-events="['click']" />
</div>
'use strict';
let $webgrid = {
prop: {
metaColumns: {
"Flag": {
"fieldID": "Flag",
"dataType": "string"
},
"PersonID": {
"fieldID": "PersonID",
"dataType": "int"
},
"UserName": {
"fieldID": "UserName",
"dataType": "string"
},
"MaritalStatus": {
"fieldID": "MaritalStatus",
"dataType": "bool"
},
"ReligionYN": {
"fieldID": "ReligionYN",
"dataType": "bool"
},
"GenderType": {
"fieldID": "GenderType",
"dataType": "string"
},
"GenderTypeName": {
"fieldID": "GenderType",
"dataType": "string"
},
"CreateDateTime": {
"fieldID": "CreateDateTime",
"dataType": "string"
}
},
grid_setValue: null,
dataSource: [
{ Flag: 'R', PersonID: '1235571', UserName: 'hello world: <a href="http://www.naver.com" target="_blank">Ted Right</a> <img src="https://raw.githubusercontent.com/dotnet/machinelearning-samples/master/images/app-type-e2e-black.png" style="vertical-align:middle;height: 22px;"/>', MaritalStatus: 0, ReligionYN: 1, GenderType: '1', GenderTypeName: '남성', CreateDateTime: '2020-02-01' },
{ Flag: 'R', PersonID: '1235572', UserName: '<a href="http://www.naver.com" target="_blank">Frank Honest</a>', MaritalStatus: 0, ReligionYN: 0, GenderType: '1', GenderTypeName: '남성', CreateDateTime: '2020-03-01' },
{ Flag: 'R', PersonID: '1235573', UserName: '<a href="http://www.naver.com" target="_blank">Joan Well</a>', MaritalStatus: 1, ReligionYN: 0, GenderType: '2', GenderTypeName: '여성', CreateDateTime: '2020-02-11' },
{ Flag: 'R', PersonID: '1235574', UserName: '<a href="http://www.naver.com" target="_blank">Gail Polite</a>', MaritalStatus: 1, ReligionYN: 0, GenderType: '2', GenderTypeName: '여성', CreateDateTime: '2020-02-21' },
{ Flag: 'R', PersonID: '1235575', UserName: '<a href="http://www.naver.com" target="_blank">Michael Fair</a>', MaritalStatus: 0, ReligionYN: 1, GenderType: '3', GenderTypeName: '중성', CreateDateTime: '2020-04-01' },
{ Flag: 'R', PersonID: '235576', UserName: '<a href="http://www.naver.com" target="_blank">Michael Fair</a>', MaritalStatus: 0, ReligionYN: 1, GenderType: '3', GenderTypeName: '중성', CreateDateTime: '2020-04-01' },
{ Flag: 'R', PersonID: '235577', UserName: '<a href="http://www.naver.com" target="_blank">Michael Fair</a>', MaritalStatus: 0, ReligionYN: 1, GenderType: '3', GenderTypeName: '중성', CreateDateTime: '2020-04-01' },
{ Flag: 'R', PersonID: '235578', UserName: '<a href="http://www.naver.com" target="_blank">Michael Fair</a>', MaritalStatus: 0, ReligionYN: 1, GenderType: '3', GenderTypeName: '중성', CreateDateTime: '2020-04-01' },
{ Flag: 'R', PersonID: '235579', UserName: '<a href="http://www.naver.com" target="_blank">Michael Fair</a>', MaritalStatus: 0, ReligionYN: 1, GenderType: '3', GenderTypeName: '중성', CreateDateTime: '2020-04-01' },
{ Flag: 'R', PersonID: '2355710', UserName: '<a href="http://www.naver.com" target="_blank">Michael Fair</a>', MaritalStatus: 0, ReligionYN: 1, GenderType: '3', GenderTypeName: '중성', CreateDateTime: '2020-04-01' },
{ Flag: 'R', PersonID: '3355711', UserName: '<a href="http://www.naver.com" target="_blank">Michael Fair</a>', MaritalStatus: 0, ReligionYN: 1, GenderType: '3', GenderTypeName: '중성', CreateDateTime: '2020-04-01' },
{ Flag: 'R', PersonID: '3355712', UserName: '<a href="http://www.naver.com" target="_blank">Michael Fair</a>', MaritalStatus: 0, ReligionYN: 1, GenderType: '3', GenderTypeName: '중성', CreateDateTime: '2020-04-01' },
{ Flag: 'R', PersonID: '3355713', UserName: '<a href="http://www.naver.com" target="_blank">Michael Fair</a>', MaritalStatus: 0, ReligionYN: 1, GenderType: '3', GenderTypeName: '중성', CreateDateTime: '2020-04-01' },
{ Flag: 'R', PersonID: '3355714', UserName: '<a href="http://www.naver.com" target="_blank">Michael Fair</a>', MaritalStatus: 0, ReligionYN: 1, GenderType: '3', GenderTypeName: '