所以我开发了一个动态内联编辑器,它允许您在一个单元格中选择一种数据类型,这会导致另一个单元格的编辑器动态更改为适当的单元格编辑器,例如 TextBoxEditor。请参阅下面的图像,值列编辑器将更改。
这适用于除Windows 上的 Chrome之外的所有操作系统和浏览器组合。当我使用以下内容更改编辑器时...
column.editor = new YAHOO.widget.TextboxCellEditor({disableBtns:true});
它不会在 Windows 上的 Chrome 中更改。但是,如果我将编辑器更改为 YAHOO.widget.RadioCellEditor,它确实有效。
我的完整代码片段供参考。
var target = YAHOO.util.Event.getTarget(ev);
var column = myDataTable.getColumn(target);
var record = myDataTable.getRecord(target);
var editable = record.getData("mapEditable");
var configType = "null";
if (column.key == "mapDelete") {
if (configType == "default") {
return;
}
if (editable == "EditAll") {
myDataTable.deleteRow(target);
var len = myDataTable.getRecordSet().getLength();
if (len == 0) {
myDataTable.addRow( {mapDataType:"Text", mapKey:" ", mapValue:" ", mapDelete:" ", mapEditable:"EditAll"} );
}
parent.enableOkBtnFromIframe(configType);
}
}
if (column.key == "mapValue") {
record.setData("mapStartValidation","true");
var dataType = record.getData("mapDataType");
switch(dataType) {
case "Text":
case "Integer":
case "Float":
column.editor = new YAHOO.widget.TextboxCellEditor({disableBtns:true});
break;
case "Boolean":
column.editor = new YAHOO.widget.RadioCellEditor({radioOptions:["true","false"],disableBtns:true});
break;
default:
break;
}
myDataTable.showCellEditor(target);
图片 - 无法在 Windows chrome 中编辑单元格..
当我将 CellEditor 更改为 TextBoxEditor 时,我永远无法在 Windows Chrome 中编辑单元格
有什么想法吗?