使用ExtJS使用GridPanel在窗口上获取值

时间:2011-05-17 07:45:10

标签: triggers window extjs gridpanel

我有一个情况:我有一个带触发器xtype的表单字段,我想要在触发器函数上发生的是打开一个窗口,其中包含列表或数据网格。我想获取这些数据的值,并将其指定为带有触发器的表单字段的值。任何人都可以帮我解决这个问题。非常感谢你。

1 个答案:

答案 0 :(得分:1)

您有多种解决方案。

  1. 您可以使用Saki's simple message bus在extjs组件之间进行通信。

  2. 您可以为触发器字段创建自定义事件。当用户在窗口中选择记录时,使用所选记录触发事件。

  3. 在onTriggerClick中:

    1. 使用网格/视图显示您的窗口以供用户选择
    2. 在你的窗口内(在一些提交按钮上):

       onSubmitClick: function(){
          // Get the selected record & fire event
          var selected = grid.getSelectionModel().getSelected();
          triggerFieldObject.fireEvent('recordSelect',selected);
      }
      

      在事件处理中(将在TriggerField上):

      onRecordSelect: function(record) {
      
          // Now you have access to the selected record.. process it,
          // Set the trigger field value etc
          this.setValue('Your Value for Trigger Field');
      }
      

      注意:这是一个框架代码,而不是一个完整的解决方案。您需要根据自己的要求添加代码。