我正在使用extjs 4.0设计一个高度复杂的数据输入表单。我正在将模型绑定到我的表单。
在我的模型中,我有一个属性“产品”代表产品型号。现在我想在我的表单面板上的Grid中显示这些产品。用户可以添加从网格中删除产品并保存表单。
实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
如果我理解正确你有一对多的对象关联,其中1面被加载到一个表格中进行编辑,而且还需要在表格中的网格中显示。
我接触类似设计的方法是在表单下方添加一个网格面板。在我的情况下,还有其他组件,所以我的网格包裹在一个tabpanel中。与此example类似,请参阅表单5.
现在,网格中有什么?好吧,我添加了一个代表我的许多对象的商店 - 或者你的例子中的产品。我为该商店设置了一个编写器代理,并在网格中添加了一个roweditor插件。最终结果是用户可以轻松管理关系,从一个屏幕编辑父对象和子对象的属性。我选择为Many商店设置一个自动同步商店,但你不必这样做。您可以轻松地向网格添加保存按钮,或者只是将操作绑定到父级的“保存”按钮。
希望这会让你的创意变得流动:)
答案 1 :(得分:0)
您可以覆盖表单的setValues()
,getValues()
方法。只需将网格绑定添加到基本方法即可。注意 - 无需扩展表单来创建自己的类。您可以在声明表单的位置覆盖这些函数。
{
xtype: 'form',
setValues: function(){}
}
希望这会有所帮助。