我正在为我的网格使用RowEditor插件。网格记录有三个按钮:选择,更新,取消。当我单击选择它将显示另一个网格,用户必须单击一个记录,然后该记录的某些值必须显示在上一个网格上。这该怎么做 ? 我正在使用extjs 3.0
提前致谢!
答案 0 :(得分:0)
当您单击选择时 - 显示带网格的模态窗口弹出窗口。当你打开弹出窗口时,会将回调传递给弹出窗口的构造函数。然后强制用户在网格中只选择一个记录(使用rowselectmodel)。在项目点击甚至子网格 - 调用您的回调并传递父网格中的选定数据。使用此数据更新父级网格记录。
希望我很清楚。
答案 1 :(得分:0)
要确定用户选择了哪一行,请使用Ext.grid.GridPanel的SelectionModel。默认模型是Ext.grid.RowSelectionModel(使用selModel
配置设置更改默认值)。要抓取所选行,请致电myGridPanel.getSelectionModel().getSelected()
。这将返回一个Ext.data.Record。挖掘数据以填充原始网格/商店。
答案 2 :(得分:0)
感谢您的回复。我做了所需的事情。 我是如何完成的,只是将编辑器传递给我的函数并使用选择模型,我得到了值并将它们放入编辑器中。
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
???
}