首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Extjs -如何在网格列中显示组合框

Extjs -如何在网格列中显示组合框
EN

Stack Overflow用户
提问于 2013-07-18 17:40:19
回答 5查看 37.2K关注 0票数 17

我有一个包含日期和组合列的网格面板

但是我不想点击来显示我的组合。我想在没有点击的情况下显示我的组合,而不是像这样隐藏在单元格中

和date列相同,如下所示

我想改成clicksToEdit: 0,但失败了

代码语言:javascript
复制
plugins: [
    Ext.create('Ext.grid.plugin.CellEditing', {
        clicksToEdit: 1
    })
]

该怎么做,谢谢

EN

回答 5

Stack Overflow用户

发布于 2013-07-18 17:49:55

组合框或日期选择器仅在您单击单元格时注入,它们在您单击之前根本不存在于网格中。更改单元格外观的方法是使用列上的渲染器。这样你就可以添加一个假的触发器盒作为背景图像或者类似的东西。

作为对你的评论的回应,你可以这样做:

代码语言:javascript
复制
{
    xtype: 'gridcolumn',
    renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
        metaData.tdCls = 'fake-combo';

        return value;
    },
    text: 'MyColumn8',
    editor: {
        xtype: 'combobox',
        store: ...
    }
}

研究所有渲染器选项的docs。您可以指定不同的类和DomHelper将使用的属性。css类可以有一个背景图像,但您必须在这里进行实验。要获得与您想要做的事情一致的布局并非易事,但您可以完全访问呈现到单元格中的div。一定要用Firebug或Chrome Dev工具检查结果,它会告诉你到底发生了什么。

虽然你可以截取一个组合框,并将其设置为背景图像。但最好不要尝试在渲染器中创建组合框,这不是它的工作方式。每一行都有一个真正的组合框是自定义的,如果你有很多行,可能会影响性能。

票数 9
EN

Stack Overflow用户

发布于 2013-07-19 13:15:26

在4.2x或更低版本中实现这一点的唯一方法是使用自定义组件,如Skirtle的comonent column http://skirtlesden.com/ux/component-column该列类型允许您将任意组件插入到单元格中。

即将发布的ExtJS将有一个叫做Gadget Grid的东西,它将允许类似的功能。

票数 8
EN

Stack Overflow用户

发布于 2013-10-10 19:16:23

代码语言:javascript
复制
var grid = Ext.create('Ext.grid.Panel', {
    store: store,
    columns: [{
        header: 'Category',
        dataIndex: 'CategoryName',
        editor: {
            xtype: 'combobox',
            store: 'categoryStore',
            displayField: 'CategoryName',
            valueField: 'CategoryID'
        }
    }],
    width: 450,
    renderTo: Ext.getElementById('hede')
});
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17719842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档