为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用AG-Grid中的复选框更改布尔数据?

如何使用AG-Grid中的复选框更改布尔数据?

jeck猫 2021-05-08 18:16:14
我正在使用一个复选框来显示布尔数据(在“ 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当然,您可以单击复选框,复选框内的复选框将消失,但这并不一定也会更改单元格的值。在这两个示例(我的代码和我提供的插件)中,您都必须双击该单元格并自己手动更改该单元格的值-才能更改该单元格的值。我希望复选框能够更改单元格值。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 314 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号