ExtJS 包括 Ex.ux.ComboColumn

Posted

技术标签:

【中文标题】ExtJS 包括 Ex.ux.ComboColumn【英文标题】:ExtJS include Ex.ux.ComboColumn 【发布时间】:2014-09-12 09:15:34 【问题描述】:

我被卡住了……

我想包含Ext.ux.ComboColumn,但我不知道如何做到这一点(以前从未使用过 javascript 和 ExtJs(使用 ExtJs 3)。)

我已经下载了 javascript 文件并将其放在与我的网页相同的文件夹中。

我用 ExtJs 构建的网页是这样的:

Ext.onReady(function() 

    var myRefStore = new Ext.data.JsonStore(
        url: 'dispatchAjaxRequest',
        baseParams: 
            eventPath: 'frontend.CustomFunctions',
            eventMethod: 'getData',
            jsonInput: Ext.encode(
                tableName: 'CCMS_REF',
                start: 0,
                limit: rowLimit
            )
        ,
        root: 'store',
        id: 'gridStore',
        fields: ['id', 'external_user', 'external_company', 'external_product', 'system_id', 'context_name', 'system_id'],
        autoLoad: true
    );


    var userCombo = new Ext.ComboBox(
        id: 'myCombo',
        triggerAction: 'all',
        store: myRefStore,
        selectOnFocus: true,
        typeAhead: true,
        editable: false,
        forceSelection: true,
        mode: 'remote',
        displayField: 'context_name',
        valueField: 'id',
        hideMode: 'offsets',
        lazyInit: false,
        hiddenName: 'mycontext',
        name: 'mycontextname'
    )


    var editGrid = new Ext.grid.EditorGridPanel(
            id: 'editTable',
            title: 'Edit table BIC_CUST_CCMS_OBJECTS',
            header: true,
            renderTo: 'contentDivCcms',
            clicksToEdit: 1,
            //height:350,
            autoHeight: true,
            //style: 'margin-bottom: 50px',
            colModel: new Ext.grid.ColumnModel(
                    defaults: 
                        width: 120,
                        sortable: false,
                        hideable: false,
                        menuDisabled: true
                    ,
                    viewConfig: 
                        forceFit: true
                    ,
                    columns: [
                            hidden: true,
                            header: 'id',
                            dataIndex: 'id',
                            editable: false
                        , 
                            header: 'sap_ref',
                            dataIndex: 'sap_ref',
                            width: 50,
                            xtype: 'combocolumn', // Use the custom column or use the column's render manually
                            editor: userCombo, // The custom column needs a ComboBox editor to be able to render the displayValue, without it just renders value
                            gridId: editTable
                        ,

                    ),
                store: myStore,
                sm: new Ext.grid.RowSelectionModel(
                    singleSelect: false
                ),

            );
    );
);

但我只收到以下错误:

TypeError: Ext.ComboBox 不是构造函数

如何添加Ext.uxComboColumn.js

问候 罢工

【问题讨论】:

【参考方案1】:

使用Ext.form.field.ComboBoxExt.form.ComboBox 而不仅仅是Ext.Combobox

var userCombo = new Ext.form.field.ComboBox(
    id: 'myCombo',
    triggerAction: 'all',
    store: myRefStore,
    selectOnFocus: true,
    typeAhead: true,
    editable: false,
    forceSelection: true,
    mode: 'remote',
    displayField: 'context_name',
    valueField: 'id',
    hideMode: 'offsets',
    lazyInit: false,
    hiddenName: 'mycontext',
    name: 'mycontextname'
);

【讨论】:

以上是关于ExtJS 包括 Ex.ux.ComboColumn的主要内容,如果未能解决你的问题,请参考以下文章

Extjs校验配置项

Extjs的各版本下载

Extjs各版本的下载链接

信步漫谈之ExtJs—基础介绍

ExtJS 4.2 组件介绍

Extjs——窗口