asp.net core 使用 DevExtreme20 将int列转为checkbox

后端设置扩展方法

public static void SetNumCheckBox(this DataGridColumnBuilder builder)
{
    _ = builder.CellTemplate(new JS("CheckBoxCellTemplate"))
        .EditCellTemplate(new JS("CheckBoxEditorTemplate"))
        .Lookup(lookup => lookup.DataSource(new object[] {
                new {
                    label = "是",
                    value = 1,
                },
                new {
                    label = "否",
                    value = 0,
                },
    }).DisplayExpr("label").ValueExpr("value"));
}

前端添加单元格和编辑代码

const getNewDomId = (function () {
  let id = 1;
  return function () {
    return id++;
  };
})();

function CheckBoxEditorTemplate(el, e) {
  var domId = 'grid_cell_' + getNewDomId();
  el.html(`
`); new Vue({ el: '#' + domId, template: ``, data: { state: e.value === 1, }, methods: { onChange(value) { e.setValue(value ? 1 : 0); }, }, }); } function CheckBoxCellTemplate(container, options) { container.html( `
` ); }

你可能感兴趣的:(asp.net core 使用 DevExtreme20 将int列转为checkbox)