0

我知道这个问题已经在类似的情况下处理过,关于 ASP.Net,以前。但由于我不了解上下文并且这些答案与我的 Ext.Net 组件不匹配,我需要再次询问。

就我而言,我有一个通过我的 LinqDataSource 连接的实体框架。我有一个 GridPanel,它有一个包含 JsonReader 的商店,此外 GridPanel 有一个带有以下代码的选择模型:

            <SelectionModel>
            <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" SingleSelect="true">
                 <Listeners>
                    <RowSelect Handler="#{EditPanel}.getForm().loadRecord(record);#{UserForm}.record = record;" />
                </Listeners>
            </ext:RowSelectionModel> 
        </SelectionModel>   

第一个问题是,RowSelect 处理程序是做什么的,或者让我们更好地说有人可以向我解释那条线吗?我从 ext.net 页面上的示例中复制了该行,它将所选行中的所有值都提供给了我的 EditPanel,但我真的不确定它是如何工作的。

我的第二个问题是,我的 GridPanel 中有 9 列代表我的实体框架中的数据。如何从所选行的第一列获取数据?

提前致谢!

4

1 回答 1

1

这段代码:

#{EditPanel}.getForm().loadRecord(record);

通过记录中的值初始化 FormPanel 的字段。

您可以在这里查看一些详细信息:http ://docs.sencha.com/ext-js/3-4/#!/api/Ext.form.BasicForm-method-loadRecord

如果您想通过某个商店的值自动设置表单值,这非常有用。例如,您有一个加载了值的商店,并且您希望显示有关记录的详细信息。

这段代码:

#{UserForm}.record = record;

通过选定的记录设置“用户窗体”的“记录”字段。在 Ext.NET 中我不认为这有什么目的,但在应用程序逻辑中可能有用。


以及第二个问题的答案:

{GridID}.selModel.getSelected().data.Id // 您可以放置​​记录的任何字段名称,而不是“Id”,因为 #{GridID}.selModel.getSelected() 返回选定的记录。

于 2011-10-20T20:10:02.770 回答