【问题标题】:SmartGwt ListGrid.setAlwaysShowEditors(true) issueSmartGwt ListGrid.setAlwaysShowEditors(true) 问题
【发布时间】:2011-10-27 12:34:05
【问题描述】:

我们有基本的 ListGrid,其中一个字段是可编辑的,并且应该始终显示该字段的编辑器,这是创建代码

ListGrid listPanel = new ListGrid();
listPanel.setDataFetchMode(FetchMode.PAGED);
listPanel.setDataSource(datasource);
listPanel.setAutoFetchData(true);
listPanel.setAlwaysShowEditors(true);
listPanel.setCanEdit(true);
listPanel.setAutoSaveEdits(false);
listPanel.setSaveByCell(false);
listPanel.setEditOnFocus(true);
listPanel.setEditEvent(ListGridEditEvent.CLICK);

在此处创建可编辑字段

ListGridField manualScoreColumn = new ListGridField("score", "Score");
manualScoreColumn.setType(ListGridFieldType.INTEGER);
manualScoreColumn.setCanEdit(true);
manualScoreColumn.setValidateOnChange(true);
manualScoreColumn.setValidators(new IntegerRangeValidator());

问题是当 ListGrid 中的数据使用

过滤时
listPanel.setCriteria(criteria);

我们得到这样的例外

12:42:31.204:RDQ2:WARN:Log:TypeError: _5 is null
ListGrid._clearingInactiveEditorHTML() @ adminApp/sc/modules/ISC_Grids.js:1530
GridBody.redraw(_1=>false) @ adminApp/sc/modules/ISC_Grids.js:889
[c]Canvas.clearRedrawQueue() @ adminApp/sc/modules/ISC_Core.js:3300
[c]Class.fireCallback(_1=>{Obj},  _2=>undef,  _3=>[object Array],  _4=>{Obj}, _5=>true)
@ adminApp/sc/modules/ISC_Core.js:299
Timer._fireTimeout("$ir2251") @ adminApp/sc/modules/ISC_Core.js:1269
unnamed() @ adminApp/sc/modules/ISC_Core.js:1264
unnamed() @ 

我发现了类似的问题herehere,但没有提出解决方案。

有什么解决方法吗? 谢谢。

【问题讨论】:

    标签: java smartgwt smartclient


    【解决方案1】:

    确保您已将 ListGridField 设置为 ListGrid

     listPanel.setFields(manualScoreColumn);
    

    将您选择的编辑器设置为 ListGridField 的另一种方法是使用 setEditorType 方法

        ListGrid listPanel = new ListGrid();
        listPanel.setCanEdit(true);
        listPanel.setAutoSaveEdits(false);
    
        //You can use any formitem instead of date item,Say TextItem,SelectItem etc
        DateItem dateItem = new DateItem();
        ListGridField dateListGridField= new ListGridField("date", "Date");
        dateListGridField.setEditorType(dateItem);
        listPanel.setFields(dateListGridField);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多