我正在使用我的网格的RowEditor插件。网格记录有三个按钮:选择,更新,取消。当我点击选择它将显示另一个网格,用户必须点击一条记录,然后该记录的一些值必须显示在前一个网格上。这个怎么做 ? 我正在使用extjs 3.0如何从另一个网格的另一选定记录向网格添加数据
在此先感谢!
我正在使用我的网格的RowEditor插件。网格记录有三个按钮:选择,更新,取消。当我点击选择它将显示另一个网格,用户必须点击一条记录,然后该记录的一些值必须显示在前一个网格上。这个怎么做 ? 我正在使用extjs 3.0如何从另一个网格的另一选定记录向网格添加数据
在此先感谢!
当你点击选择 - 显示带网格的模式窗口弹出。当你打开弹出窗口时,将回调传递给弹出窗口的构造函数。然后强制用户在网格中仅选择一条记录(使用rowselectmodel)。在itemclick甚至是子网格上 - 调用回调函数并传递父网格中的选定数据。用这些数据更新父母的网格记录。
希望我很清楚。
要确定用户选择了哪一行,请使用Ext.grid.GridPanel的SelectionModel。默认模型是Ext.grid.RowSelectionModel(使用selModel
配置设置更改默认值)。要获取所选行,请致电myGridPanel.getSelectionModel().getSelected()
。这将返回一个Ext.data.Record。挖掘该数据以填充原始网格/商店。
感谢您的回复。我已经完成了所需的事情。我已经完成了,只是将编辑器传递给了我的函数并使用了选择模型,我得到了这些值并将它们放入了编辑器中。
val1 = selectedArray[0].get('val1');
var cm = grid.colModel, fields = editor.items.items, f, val;
f = fields[1];
f.setValue(val1);
editor.values[f.id] = val;
这使我的生活更轻松。
但是,在放入编辑器后,我还有另一个问题。如果用户单击更新按钮,我必须在afteredit
事件中进行验证。在afteredit
事件,
afteredit: function(object, changes, record, rowIndex)
{
// I have to do validation on the changes; but its an object. How will I do it
???
}
谢谢你,我只是做evrything你写什么,但我需要显示的数据(子成父的一些记录)和行是仍然编辑模式下三个按钮 当我点击更新从子网格的数据将进入数据库。用户可以编辑或不编辑剩余字段。我完成了你所写的一切,但我没有得到如何将数据从子网格显示到父网格当前行(它处于可编辑模式) – bindun
您总是可以获取当前编辑的行。使用父网格选择模型,然后您可以更新此行的记录。您还可以更新当前打开的RowEditor中的编辑器。处理所有这些时刻可能有点复杂,但它是可行的:)。 –
请问你能寄一些样品代码吗?我不知道如何编码。我的电子邮件是:[email protected]谢谢! – Thorusan86