한 셀 안에서 input으로 직접 수량을 적을 수 있고 화살표를 눌렀을 때 적은 수량에서 + - 를 하고 싶은데 쉽지가 않아 문의드립니다.
부탁드리겠습니다.
const initializeGrid = (flex) => {
setGridData(flex);
flex.select(-1, -1);
flex.formatItem.addHandler((s, e) => {
if (e.panel == s.cells) {
let col = s.columns[e.col],
item = s.rows[e.row].dataItem;
if (item == _currentEditItem) {
} else {
// create buttons for items not being edited
// eslint-disable-next-line default-case
switch (col.binding) {
case 'selects':
e.cell.innerHTML = document.getElementById('addtoselect').innerHTML;
e.cell['dataItem'] = item;
break;
case 'buttons':
e.cell.innerHTML = document.getElementById('addtocart').innerHTML;
e.cell['dataItem'] = item;
break;
}
}
}
});
// handle button clicks
flex.addEventListener(flex.hostElement, 'click', (e) => {
let targetButton = wjCore.closest(e.target, 'button');
let targetSelect = wjCore.closest(e.target, 'select');
let ht = flex.hitTest(e);
if (ht.panel) {
if (ht.panel.cellType === 1) {
let rowData = flex.rows[ht.row].dataItem;
if (targetButton instanceof HTMLButtonElement) {
// eslint-disable-next-line default-case
switch (targetButton.id) {
case 'addbtn':
setAddToCart(rowData);
break;
}
}
if (targetSelect instanceof HTMLSelectElement) {
// eslint-disable-next-line default-case
switch (targetSelect.id) {
case 'qtyselect':
// onSelectQty(e);
break;
}
}
}
}
});
};