如何在gridpanel的编辑时设置ext:SpinnerField的maxValue

时间:2012-10-03 10:33:55

标签: asp.net spinner ext.net gridpanel

我正在使用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个数列,1个列(没有标题)用于设置sppinner的最大值。

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

enter image description here

但是当我再次编辑第一行时,它将maxvalue = 3但是这是错误的第一行的maxvalue应该是1。 enter image description here

1 个答案:

答案 0 :(得分: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