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 实现中捕获旧值和新值
如何在 SQL Server 的触发器中获取多个字段的旧值和新值?