<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ZingGrid: Docs Getting Started</title>
<!--Script Reference[1]-->
<script nonce="undefined" src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
<style>
html,
body {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
zing-grid[loading] {
height: 277px;
}
</style>
</head>
<body>
<!--Grid Component Placement[2]-->
<zing-grid caption="Register Custom Column" editor>
<zg-data data='[{
"num": "3",
"feet": "6",
"inch": "0",
"first": "roberto",
"last": "aguayo",
"col": "florida state"
}, {
"num": "83",
"feet": "6",
"inch": "4",
"first": "braedon",
"last": "bowman",
"col": "south alabama"
}, {
"num": "67",
"feet": "6",
"inch": "6",
"first": "brett",
"last": "boyko",
"col": "nevada-las vegas"
} ]'></zg-data>
<zg-colgroup>
<zg-column index="num" header="#" type="Number"></zg-column>
<zg-column index="first, last" header="Player" type="fullname"></zg-column>
<zg-column index="col" type="upper" header="College"></zg-column>
<zg-column index="feet, inch" header="Height" type="height"></zg-column>
</zg-colgroup>
</zing-grid>
<script>
ZingGrid.setLicense(['26ccbfec16b8be9ee98c7d57bee6e498']); // renderer function for cell
function heightRenderer(feet, inch, cellRef, $cell) {
return feet + "'" + inch + '"';
}
// renderer function for cell
function nameRenderer(first, last, cellRef, $cell) {
return first.toUpperCase() + ' ' + last.toUpperCase();
}
// renderer function for cell
function upperRenderer(mRawData, cellRef, $cell) {
return mRawData.toUpperCase();
}
// hooks for editor
let editor = {
init($cell, editorField) {
let oDOMInput = document.createElement('input');
oDOMInput.type = 'text';
oDOMInput.autoComplete = 'off';
oDOMInput.ariaInvalid = false;
editorField.appendChild(oDOMInput);
},
onOpen($cell, editorField, mData) {
let oDOMInput = editorField.querySelector('input');
if (!mData) {
mData = editorField.value || '';
}
oDOMInput.value = String(mData);
},
onClose(editorField) {
return 'Edited: ' + editorField.querySelector('input').value;
},
};
ZingGrid.registerCellType('height', {
renderer: heightRenderer,
});
ZingGrid.registerCellType('fullname', {
renderer: nameRenderer,
});
ZingGrid.registerCellType('upper', {
editor: editor,
renderer: upperRenderer,
});
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ZingGrid: Docs Getting Started</title>
<!--Script Reference[1]-->
<script src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
</head>
<body>
<!--Grid Component Placement[2]-->
<zing-grid caption="Register Custom Column" editor>
<zg-data data='[{
"num": "3",
"feet": "6",
"inch": "0",
"first": "roberto",
"last": "aguayo",
"col": "florida state"
}, {
"num": "83",
"feet": "6",
"inch": "4",
"first": "braedon",
"last": "bowman",
"col": "south alabama"
}, {
"num": "67",
"feet": "6",
"inch": "6",
"first": "brett",
"last": "boyko",
"col": "nevada-las vegas"
} ]'></zg-data>
<zg-colgroup>
<zg-column index="num" header="#" type="Number"></zg-column>
<zg-column index="first, last" header="Player" type="fullname"></zg-column>
<zg-column index="col" type="upper" header="College"></zg-column>
<zg-column index="feet, inch" header="Height" type="height"></zg-column>
</zg-colgroup>
</zing-grid>
</body>
</html>
html,
body {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
// renderer function for cell
function heightRenderer(feet, inch, cellRef, $cell) {
return feet + "'" + inch + '"';
}
// renderer function for cell
function nameRenderer(first, last, cellRef, $cell) {
return first.toUpperCase() + ' ' + last.toUpperCase();
}
// renderer function for cell
function upperRenderer(mRawData, cellRef, $cell) {
return mRawData.toUpperCase();
}
// hooks for editor
let editor = {
init($cell, editorField) {
let oDOMInput = document.createElement('input');
oDOMInput.type = 'text';
oDOMInput.autoComplete = 'off';
oDOMInput.ariaInvalid = false;
editorField.appendChild(oDOMInput);
},
onOpen($cell, editorField, mData) {
let oDOMInput = editorField.querySelector('input');
if (!mData) {
mData = editorField.value || '';
}
oDOMInput.value = String(mData);
},
onClose(editorField) {
return 'Edited: ' + editorField.querySelector('input').value;
},
};
ZingGrid.registerCellType('height', {
renderer: heightRenderer,
});
ZingGrid.registerCellType('fullname', {
renderer: nameRenderer,
});
ZingGrid.registerCellType('upper', {
editor: editor,
renderer: upperRenderer,
});