使用 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 的窗口上获取值的主要内容,如果未能解决你的问题,请参考以下文章
带有复选框 selModel 的 ExtJs Gridpanel 窗口,在第二次打开时不显示复选框
如何让 GridPanel 在 ExtJS 4 中显示正确的时间?