如何在ColdFusion 9 EXTJS网格列上设置typeAhead=true?

如何在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

在CF9上,type=“combobox”的CFGridcolumn在底层javascript中将“typeAhead”设置为false。typeAhead是组合框的自动完成效果,您可以在此处的“灯光”列中看到:

我想知道如何使用ColdFusion 9和CFGrid/CFGridColumn以及相关的ColdFusion.grid函数,将这个typeAhead功能添加到基于EXTJS的网格中

感谢您的指导。

以下是方法:

您创建的js函数如下所示:

    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-很棒的提示!谢谢你发帖。