2

我正在使用 Ext.Net 1.5

我想在编辑时验证 ext:SpinnerField。我想在运行时设置 ext:SpinnerField maxValue。

    <ext:GroupingSummaryColumn Width="100" ColumnID="Qty" Header="Qty"
        Sortable="true" DataIndex="qty" Align="Right">
     <Editor>
        <ext:SpinnerField ID="txtQty" runat="server" AllowBlank="false" MinValue="1">
 <Listeners><BeforeShow Handler="txtQty.setMaxValue(record.data.qtydata);" /> </Listeners>
 </ext:SpinnerField>
    </Editor>
     </ext:GroupingSummaryColumn>

<BeforeShow Handler="txtQty.setMaxValue(record.data.qtydata);"> 将设置我必须设置的我的 spinnerField 的最大值

示例: 在下图中,它们是 1 个 qty 列和 1 个列(没有标题)用于设置 sppinner 的最大值。

我正在编辑第一行它将设置 maxvalue=1 然后编辑第二行它将设置 maxvalue=3

在此处输入图像描述

但是当我再次编辑第一行时,它将 maxvalue=3 但这是错误的,第一行的最大值应该是 1。 在此处输入图像描述

4

1 回答 1

3

您必须将侦听器添加到 GridPanel 的 BeforeEdit 事件。尝试这个:

<ext:GridPanel>
...
<Listeners>
            <BeforeEdit Handler="
                 if (e.field == 'qty') 
                    txtQty.setMaxValue(e.record.data.qtydata);"></BeforeEdit>
        </Listeners>
</ext:GridPanel>

你可以在这里看到完整的例子:http: //pastebin.com/WAgDJjQd

于 2012-10-03T17:28:24.627 回答