EXT JS - 单击传输记录以存储弹出网格面板
Posted
技术标签:
【中文标题】EXT JS - 单击传输记录以存储弹出网格面板【英文标题】:EXT JS - on click transfer record to store of popup grid panel 【发布时间】:2014-05-04 12:13:01 【问题描述】:这是我的带有标签的弹出窗口。 我需要在商店的选项卡 2 中将记录中的值提供给网格面板,以通过 category_id 从服务器端获取属性。在官方文档中搜索答案并没有找到。 可以帮帮我吗?
Ext.define('desk.view.CategoryPopup',
extend: 'Ext.window.Window',
alias: 'widget.categorypopup',
title: 'Change Category',
layout: 'fit',
autoShow: true,
bdoyPadding: 10,
initComponent: function()
this.items = [
xtype: 'tabpanel',
items: [
xtype: 'form',
title: 'Add / Edit / Delete Category',
items: [
xtype: 'textfield',
name: 'name',
fieldLabel: 'Parent Category'
,
xtype: 'textfield',
name: 'new',
fieldLabel: 'New Category'
,
xtype: 'textfield',
name: 'id',
fieldLabel: 'Category ID',
hidden: true
,
xtype: 'textfield',
name: 'parent',
fieldLabel: 'Parent ID',
hidden: true
],
bodyPadding: 10
,
xtype: 'gridpanel',
alias: 'widget.categoryattr',
title: 'Attributes',
height: 350,
buttons: ['text': 'Add attribute', 'action' : 'add-attribute'],
columns: [
name: 'Name',
dataIndex: 'name'
],
width: 300,
store: Ext.widget('categoryattributes')
]
];
this.buttons = [
text: 'Update',
action: 'add'
,
text: 'Delete',
action: 'delete'
];
this.callParent(arguments);
)
This is function in controller
editCategories: function(grid, record)
var view = Ext.widget('categorypopup');
view.down('form').loadRecord(record);
【问题讨论】:
所以你想在按钮按下时将表单的记录添加到网格的存储中? 没有。我有一个带有类别的网格,我想在弹出窗口中通过 category_id 从数据库中获取属性 你能不能说的更具体一点:你的意思是类别的属性,你需要从数据库中填充一个商店吗...? 是的,我想用属性填充商店,例如我有 category_id = 5,当我在网格中单击它时会打开弹出窗口。在此弹出窗口中将是另一个网格面板,其中 category_id = 5 的属性。所以我需要提供 category_id 值来存储以进行 ajax 查询。 【参考方案1】:你需要这样的东西:
editCategories: function(grid, record)
var view = Ext.widget('categorypopup');
view.down('form').loadRecord(record);
Ext.Ajax.request(
url: '/api/category/'+ record.getId() +'/attributes', //example url insert your webservice
success: function(response)
var attributes = Ext.decode(response.responseText);
view.down('grid').getStore().loadData(attributes);
);
您需要一个带有网格模型的商店。
【讨论】:
谢谢,我试试以上是关于EXT JS - 单击传输记录以存储弹出网格面板的主要内容,如果未能解决你的问题,请参考以下文章
带有表单 cals servlet 的 Ext.js 4 窗口返回 JSON 但无法填充网格面板