如何将网格添加到Extjs表单并提交其数据?

时间:2012-02-18 03:48:27

标签: extjs4

我正在使用extjs 4.0设计一个高度复杂的数据输入表单。我正在将模型绑定到我的表单。

在我的模型中,我有一个属性“产品”代表产品型号。现在我想在我的表单面板上的Grid中显示这些产品。用户可以添加从网格中删除产品并保存表单。

实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

如果我理解正确你有一对多的对象关联,其中1面被加载到一个表格中进行编辑,而且还需要在表格中的网格中显示。

我接触类似设计的方法是在表单下方添加一个网格面板。在我的情况下,还有其他组件,所以我的网格包裹在一个tabpanel中。与此example类似,请参阅表单5.

现在,网格中有什么?好吧,我添加了一个代表我的许多对象的商店 - 或者你的例子中的产品。我为该商店设置了一个编写器代理,并在网格中添加了一个roweditor插件。最终结果是用户可以轻松管理关系,从一个屏幕编辑父对象和子对象的属性。我选择为Many商店设置一个自动同步商店,但你不必这样做。您可以轻松地向网格添加保存按钮,或者只是将操作绑定到父级的“保存”按钮。

希望这会让你的创意变得流动:)

答案 1 :(得分:0)

您可以覆盖表单的setValues()getValues()方法。只需将网格绑定添加到基本方法即可。注意 - 无需扩展表单来创建自己的类。您可以在声明表单的位置覆盖这些函数。

{
    xtype: 'form',
    setValues: function(){}
}

希望这会有所帮助。