2

我正在使用 RowEditor 扩展来编辑 GridPanel。我的 ExtJS 版本是 3.3.0。我需要一些字段是可编辑的,而其他字段根本不能编辑,我通过忽略editor这些列上的属性来做到这一点。问题是,当找不到某个编辑器的时候,人为的生成是RowEditor.js这样的:

for(var i = 0, len = cm.getColumnCount(); i < len; i++){
        var c = cm.getColumnAt(i),
            ed = c.getEditor();
        if(!ed){
            ed = c.displayEditor || new Ext.form.DisplayField();
        }else{
            ed = ed.field;
        }
        //uninteresting code...
        this.insert(i, ed);
    }

因此,数据被双重显示,如下图所示。

你的网格

有没有一种快速的解决方案来摆脱那些不必要的文本,但仍然可以查看网格上的现有数据?提前致谢。

4

1 回答 1

2

我要假设,不。并非没有重写插件的一部分。再说一次,您可以手动循环您不想要的控件并隐藏它们..但这似乎是错误的。

老实说,我只是不使用 rowEditor 插件。拥有“常规”编辑器同样简单(甚至可能是迄今为止您用来指定编辑器的相同代码)。

然后,就像您已经完成的那样,您只需忽略editor不需要的列的选项。

如果你想要一个更漂亮的外观,你可以尝试为你选择的行设置样式(GetRowClass在 Ext.NET 中,在 ExtJS 中类似?或者只是覆盖所选行的 CSS 类)。

于 2011-06-07T07:15:06.187 回答