【问题标题】:Record update from outside the grid panel从网格面板外部记录更新
【发布时间】:2013-05-26 18:50:16
【问题描述】:

我与 ExtJS et Architect 合作。

我的网格面板外有一个工具栏,还有一个“更新”按钮。

当我单击网格进行选择并单击网格外的“更新”按钮后,出现错误:无法使用 loadRecord,因为未定义。

我的代码:

ClickBtnParametresApplicatifsModifier: function(button, e, eOpts) {
    var evaluation_edit = 'var edit = Ext.create(\'ModuleGestion.view.'+ElementsParametresApplicatifs['formulaires'][activeTabParametresApplicatifs]+'\');';
    eval(evaluation_edit);  


    var evaluation_grid = 'var grid = this.getGrid'+ElementsParametresApplicatifs['designations'][activeTabParametresApplicatifs]+'()';
    eval(evaluation_grid);  

    record = grid.getSelectionModel().getSelection();

    if(record) {
        edit.down('form').loadRecord(record);
    }

},

函数 click 和这个参数有什么不同:button、e、eOpts 和一个函数 itemdblclick(在网格上)以及这个参数所在的 params store?

【问题讨论】:

  • 绝对没有必要像这样使用 eval 。只需使用字符串连接来创建类var x = Ext.create('My.static.Bit' + dynamicStuff);
  • 是真的thanx,我的问题没有解决
  • 建议您阅读文档,特别是关于 getSelection 的返回类型。
  • 此方法在我的 itemdblclick 动作控制器中有效,但在我的按钮工具栏动作中不起作用(在网格外)....在我的删除动作控制器中它是有效的

标签: javascript extjs


【解决方案1】:

你能检查记录是否有元素吗?也许使用:

if(grid.getSelectionModel().hasSelection()){
   ...
}

也试试:

grid.getSelectionModel().getLastSelected()

【讨论】:

  • 解决方法是使用记录数组的索引0:record[0]
猜你喜欢
  • 1970-01-01
  • 2015-04-17
  • 1970-01-01
  • 1970-01-01
  • 2021-06-06
  • 2011-07-10
  • 2013-06-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多