【问题标题】:Ext.Net RowSelectionModel, get Values from current selected Row?Ext.Net RowSelectionModel,从当前选定的行获取值?
【发布时间】:2011-10-20 07:45:58
【问题描述】:

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

就我而言,我有一个通过我的 LinqDataSource 连接的实体框架。 我有一个 GridPanel,它有一个包含 JsonReader 的 Store,此外 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 列代表我的实体框架中的数据。如何从所选行的第一列中获取数据?

提前致谢!

【问题讨论】:

    标签: c# entity-framework ext.net


    【解决方案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() 返回选定的记录。

    【讨论】:

    • 非常感谢您的帮助,解释很有道理。但这是 javascript 调用/处理程序吗?明天将测试其余的!
    • 是的,这是 JavaScript 代码。也许对学习 ExtJs 会很有用,因为 Ext.NET 和 ExtJs 之间的交互非常密切。使用 FireBug 查看结果 HTML 和 JavaScript 代码非常有用。您将看到处理程序接收哪些参数以及 Ext.NET 的常用逻辑
    • 好的,下一个问题,还是同一个问题。如何在 C# 中的 CodeBehind 中从我选择的行中获取这些值?
    • 您可以使用 DirectEvent 或 DirectMethods。我通常使用 DirectMethods。您可以定义 DirectMethod,然后从处理程序传输值。但是 DirectEvent 对初学者来说会更简单。
    猜你喜欢
    • 1970-01-01
    • 2011-10-22
    • 2011-12-16
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多