
|
<ejs-spreadsheet #spreadsheet>
<e-sheets>
<e-sheet>
<e-ranges>
<e-range address="C1">
<ng-template #template>
<!-- <ejs-textbox placeholder="Name"></ejs-textbox> -->
<input #auto type="text" id="text" name="email" autocomplete="on" list="browsers" />
<datalist id="browsers">
<option value="[email protected]">
<option value="[email protected]">
<option value="[email protected]">
<option value="[email protected]">
<option value="[email protected]">
</datalist>
</ng-template>
</e-range>
</e-ranges>
<e-rows>
<e-row>
<e-cells>
<e-cell [index]="1" value="Email:"></e-cell>
</e-cells>
</e-row>
</e-rows>
</e-sheet>
</e-sheets>
</ejs-spreadsheet>
|

|
created() {
this.spreadsheetObj.cellFormat(
{ fontWeight: "bold", textAlign: "center", verticalAlign: "middle" },
"A1:C1"
);
this.spreadsheetObj.element.addEventListener("keyup", event => {
var actSheet = this.spreadsheetObj.getActiveSheet();
var actCell = actSheet.activeCell;
var rangeIndex = getRangeIndexes(actCell);
for (var i = rangeIndex[2]; i > 0; i--) {
var cell = getCell(i - 1, rangeIndex[1], actSheet);
if (
event.key == "Backspace" ||
event.key == "Delete" ||
event.key == "Escape"
) {
return;
} else if (cell && cell.value) {
var elem = document.getElementsByClassName("e-spreadsheet-edit")[0];
var textLen = elem.innerHTML.length;
if (
elem.innerHTML.toUpperCase() ==
cell.value.toUpperCase().slice(0, textLen)
) {
elem.innerText = cell.value;
var startNode = document.getElementsByClassName(
"e-spreadsheet-edit"
)[0].firstChild;
startNode.nodeValue = startNode.nodeValue.trim();
var range = document.createRange();
range.setStart(startNode, textLen);
range.setEnd(startNode, startNode.textContent.length);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
return;
}
} else return;
}
});
} |
