Ext.net 行编辑旧值和新值

Posted

技术标签:

【中文标题】Ext.net 行编辑旧值和新值【英文标题】:Ext.net Row Editing Old and New Values 【发布时间】:2016-07-04 05:13:49 【问题描述】:

基于此thread,我正在尝试从已编辑的行/单元格中获取旧值和新值。但总是 rowIndex 是空的。我怎样才能得到这个值?还有另一种方法可以在服务器端捕获这些信息吗?

这是我的网格。谢谢!

<ext:GridPanel runat="server"
                                        Frame="true"
                                        Layout="FitLayout"
                                        MarginSpec="5 0 5 0"
                                        ID="Janelas01">
                                        <Store>
                                            ...
                                            </ext:Store>
                                        </Store>
                                        <ColumnModel runat="server">
                                            <Columns>
                                                ...
                                                <ext:Column runat="server"
                                                    DataIndex="Meta"
                                                    Text="Meta / H"
                                                    Flex="1"
                                                    Align="Center">
                                                    <Editor>
                                                        <ext:NumberField
                                                            runat="server"
                                                            AllowBlank="false"
                                                            AllowDecimals="true"
                                                            Step="0.01">
                                                        </ext:NumberField>
                                                    </Editor>
                                                </ext:Column>
                                            </Columns>
                                        </ColumnModel>
                                        <SelectionModel>
                                            <ext:RowSelectionModel runat="server" />
                                        </SelectionModel>
                                        <Plugins>
                                            <ext:RowEditing runat="server">
                                                <Listeners>
                                                    <BeforeEdit Handler="this.oldValues = Ext.net.clone(this.grid.getStore().getAt(rowIndex).data);" />
                                                </Listeners>
                                                <DirectEvents>
                                                    <Edit OnEvent="GridPanel_AfterEdit">
                                                        <ExtraParams>
                                                            <ext:Parameter Name="old" Value="this.oldValues" Mode="Raw" Encode="true" />
                                                            <ext:Parameter Name="new" Value="this.grid.getStore().getAt(rowIndex).data" Mode="Raw" Encode="true" />
                                                        </ExtraParams>
                                                    </Edit>
                                                </DirectEvents>
                                            </ext:RowEditing>
                                        </Plugins>
                                    </ext:GridPanel>

【问题讨论】:

【参考方案1】:

解决了。感谢@fabricio.murta!

我只是更改了这段代码:

<Plugins>
            <ext:RowEditing runat="server">
                <Listeners>
                    <BeforeEdit Handler="this.oldValues = Ext.net.clone(e.record.data);" />
                </Listeners>
                <DirectEvents>
                    <Edit OnEvent="OnAfterEdit">
                        <ExtraParams>
                            <ext:Parameter Name="old" Value="this.oldValues" Mode="Raw" Encode="true" />
                            <ext:Parameter Name="new" Value="e.record.data" Mode="Raw" Encode="true" />
                        </ExtraParams>
                    </Edit>
                </DirectEvents>
            </ext:RowEditing>
        </Plugins>

【讨论】:

以上是关于Ext.net 行编辑旧值和新值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中 PropertyChanged 事件的 INotifyPropertyChanged 实现中捕获旧值和新值

Symfony2 表单验证器 - 在刷新之前比较旧值和新值

Django - 覆盖保存方法时检查旧值和新值之间的差异

如何在 SQL Server 的触发器中获取多个字段的旧值和新值?

如何在ios的同一个Nsmutablearray中存储旧值和新值

将 SaveChange 中的旧值和新值保存为 DbEntityEntry.Entity 以进行审计