如何在ColdFusion 9 EXTJS网格列上设置typeAhead=true?
在CF9上,type=“combobox”的CFGridcolumn在底层javascript中将“typeAhead”设置为false。typeAhead是组合框的自动完成效果,您可以在此处的“灯光”列中看到: 我想知道如何使用ColdFusion 9和CFGrid/CFGridColumn以及相关的ColdFusion.grid函数,将这个typeAhead功能添加到基于EXTJS的网格中 感谢您的指导。以下是方法: 您创建的js函数如下所示:如何在ColdFusion 9 EXTJS网格列上设置typeAhead=true?,coldfusion,extjs,Coldfusion,Extjs,在CF9上,type=“combobox”的CFGridcolumn在底层javascript中将“typeAhead”设置为false。typeAhead是组合框的自动完成效果,您可以在此处的“灯光”列中看到: 我想知道如何使用ColdFusion 9和CFGrid/CFGridColumn以及相关的ColdFusion.grid函数,将这个typeAhead功能添加到基于EXTJS的网格中 感谢您的指导。以下是方法: 您创建的js函数如下所示: function formatGrid
function formatGrid(){
var grid = ColdFusion.Grid.getGridObject("configgrid");
var colModel = grid.getColumnModel();
colModel.setRenderer(1,function(value, p, record, rowIndex, colIndex){
var val = "";
var editor = colModel.getCellEditor(colIndex,rowIndex);
Ext.apply(editor.field,{typeAhead:true,editable:true});
return value;
});
}
在setRenderer调用中,“1”表示要修改的列的从零开始的索引。如果您有多个combobox列,则可以轻松地将此函数提取为更通用的函数,并接受列模型和列索引
然后,要调用函数,可以在CF8上使用
<cfset ajaxOnLoad("formatGrid")>
在CF9上,您可以使用CFGrid标记的onload属性,并将其设置为“formatGrid”(或任何您希望调用的函数)
值得一提的是,在观看了Cutter在CF9/Ajax上的演示后,我终于看到了曙光:
这为我提供了将渲染器应用于柱模型所需的功能。然后,我在源代码中查找ColdFusion为列模型创建的内容,并在下拉字段中看到“editable:false”。启用“可编辑:true”是使typeAhead:true正常工作所缺少的部分。FYI:我已添加此增强请求,以请求CFGridColumn上的传递配置选项:@Marc-很棒的提示!谢谢你发帖。