我一直在使用光滑的网格,这非常好,但有一个非常小的棘手问题,我似乎无法停止。
我显示两个网格,一个是可编辑的,当项目“已批准”时,它们会移动到第二个网格,该网格是只读的。
到目前为止一切都很好......但是在测试时,很明显,当单击第二个网格中带有复选框的单元格时,如果在单元格中单击复选框,焦点将重置到第一个网格。如果他们单击其他任何地方,它不会执行任何操作,但如果单击该复选框,它会转移焦点。它不会改变值,但确实会转移焦点。如果我删除格式化程序,它不会转移焦点......
有什么想法吗?
我应该考虑某种自定义格式化程序吗?
如果需要,我可以提供屏幕截图或代码。两个网格都是独立定义的。除了这个小问题之外,它们工作得非常好,这似乎是因为单击了复选框(只读,无编辑器)。单击该单元格中的任何其他位置或其他单元格不会执行任何操作。
我尝试过处理 beforeEdit 事件并忽略它。只是想知道我是否缺少什么。可能有!
谢谢
(代表OP发布)。
我使用自定义格式化程序解决了它:
function customFormatter(row,cell,value,columnDef, dataContext) {
console.log('value '+ value);
if(value == true)
{
return "<input type='checkbox' onclick='return false;' id='coding' name='interest' value='coding' checked>"
}
else
{
return "<input type='checkbox' onclick='return false;' id='coding' name='interest' value='coding'>"
}
}
复选框仍然显示,但它们不会使第二个网格失去第一个网格的焦点:)