使用 ExtJS 在带有 GridPanel 的窗口上获取值

Posted

技术标签:

【中文标题】使用 ExtJS 在带有 GridPanel 的窗口上获取值【英文标题】:Get Value on a Window with GridPanel using ExtJS 【发布时间】:2011-05-17 07:45:10 【问题描述】:

我这里有一个情况:我有一个带有触发器 xtype 的表单字段,我希望在触发器函数上发生的事情是打开一个窗口,其中包含数据列表或网格。我想获取这些数据的值并将其分配为带有触发器的表单字段的值。谁能帮我解决这个问题。非常感谢。

【问题讨论】:

【参考方案1】:

您对此有多种解决方案。

    你可以使用Saki's simple message bus来做extjs组件之间的通信。

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

在你的 onTriggerClick 内:

    显示带有网格/视图的窗口以供用户选择

在您的窗口内(在某些提交按钮上):

 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');

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

【讨论】:

谢谢朋友,我会试试这个。

以上是关于使用 ExtJS 在带有 GridPanel 的窗口上获取值的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS 3.4.0 GridPanel 有条件地禁用行

ExtJs - 通过 Gridpanel 的索引获取行

带有复选框 selModel 的 ExtJs Gridpanel 窗口,在第二次打开时不显示复选框

如何让 GridPanel 在 ExtJS 4 中显示正确的时间?

在 extjs4.1 和 4.2 中使用 CheckboxModel 删除和添加 Gridpanel 再次失败

Extjs GridPanel 验证