1

我想在集会网格中添加一个带有复选框的列(类似于“选择默认值”)。使用“checkcolumn”xtype 看起来应该很简单。但这需要你链接一些额外的 extjs 样式,我不确定如何在 Rally extjs 框架中做到这一点:

Extjs 4 校验列不可见

这是 ext-js 中此类列的示例:http: //dev.sencha.com/deploy/ext-3.4.0/examples/grid/edit-grid.html

有没有办法用拉力赛网格做到这一点?

我最终使用了基于以下 anwser 的快速而肮脏的解决方案:

{text: 'Default', dataIndex:'selected', align: 'center', width: 50, renderer: function(value, style, item, rowIndex) {
    return "<input type='radio' name='primaryIndex' alt='"+ rowIndex + "' " + (value ? "checked='checked'" : "") + ">";
}},

和:

        checkRadioClick: function(event) {
            var button = event.getTarget('input[type="radio"]');

            if (button) {
                       ...
4

2 回答 2

1

目前 Ext 的网格(Rally 网格扩展)不支持复选框列。开箱即用的最接近的东西是布尔列:

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.grid.column.Boolean

这是因为网格要求您必须单击一个单元格来启动编辑,并且复选框列在没有该操作的情况下可以立即编辑。

鉴于此,我认为您应该能够通过在列配置中简单地为该列指定一个渲染器来渲染一个复选框列。但是,当它们发生变化时,将值从网格中恢复出来可能会有点挑战,因为这些值不会被提交到存储中的底层记录(因为没有触发实际的编辑)。

还有一个用户在这里提交了 CheckColumn,您可以使用或至少作为示例来开始:
http ://docs.sencha.com/ext-js/4-1/source/CheckColumn.html#Ext -ux-CheckColumn

于 2012-11-19T15:49:17.610 回答
0

也许这是新的预览版本之一?我这样做了:

Ext.create( 'Rally.ui.grid.Grid', {
            selType: 'checkboxmodel',
            selModel: {
                injectCheckbox: 1,
                mode: 'SIMPLE',
                listeners: {
                    selectionchange: function( model, selected ) {
                        // do stuff
                    },
                    scope: this
                }
            }
于 2013-02-01T01:02:14.560 回答