我正在使用一个复选框来显示布尔数据(在“ Y”的情况下将选中该复选框,而在“ N”或(空)的情况下将不选中该复选框)。当单元格/数据在网格中正确显示时,当我单击复选框时,我还希望更改单元格中的数据-不仅是复选框(换句话说,是双向绑定,而是在网格网格中)其值不是true / false-而是“ Y”和“ N”,并且选中/取消选中它们本身会更改单元格的值)。我目前正在使用cellRenderer来显示基于单元格数据的复选框。这是定义网格的代码:var columnDefs = [ {headerName: 'name', field: 'a', editable: true, valueParser: numberValueParser}, {headerName: 'read', field: 'b', editable: true, cellRenderer: checkboxCellRenderer}, {headerName: 'write', field: 'c', editable: true, cellRenderer: checkboxCellRenderer}, {headerName: 'delete', field: 'd', cellRenderer: checkboxCellRenderer}, {headerName: 'upload', field: 'e', cellRenderer: checkboxCellRenderer},];function createRowData() { var rowData = []; for (var i = 0; i<20; i++) { rowData.push({ a: Math.floor( ( (i + 323) * 25435) % 10000), b: Math.floor( ( (i + 323) * 23221) % 10000)<5000, c: Math.floor( ( (i + 323) * 468276) % 10000)<5000, d: Math.floor( ( (i + 323) * 468276) % 10000)<5000, e: Math.floor( ( (i + 323) * 468276) % 10000)<5000 }); } return rowData;}function numberValueParser(params) { return Number(params.newValue);}function formatNumber(number) { // this puts commas into the number eg 1000 goes to 1,000, // i pulled this from stack overflow, i have no idea how it works return Math.floor(number).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");}function checkboxCellRenderer (params){ var input = document.createElement("input") input.type = "checkbox"; input.checked = params.value return input}就像这个工作的插件一样,https: //plnkr.co/edit/cV5wFLY4nnyQgVIcnGrF ? p = preview当然,您可以单击复选框,复选框内的复选框将消失,但这并不一定也会更改单元格的值。在这两个示例(我的代码和我提供的插件)中,您都必须双击该单元格并自己手动更改该单元格的值-才能更改该单元格的值。我希望复选框能够更改单元格值。
添加回答
举报
0/150
提交
取消
