后端设置扩展方法
public static DataGridColumnBuilder SetNumCheckBox(this DataGridColumnBuilder builder)
{
return 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(
`
`
);
}