简体   繁体   English

ValidateEdit事件不会在Ext rowEditor上触发

[英]ValidateEdit event doesn't fire on Ext rowEditor

First my code without the stuffs not concerned : 首先我的代码没有无关紧要的东西:

<ext:Window ID="CommentPopUp" runat="server">
    <Content>
        <ext:GridPanel ID="gvComment" runat="server">
            <Plugins>
                <ext:RowEditor runat="server" SaveText="Save" >
                    <Listeners>
                        <CancelEdit Handler="DeleteRow()" />
                        <ValidateEdit Handler="ValidateComment()"/>
                    </Listeners>
                </ext:RowEditor>
            </Plugins>
            <ColumnModel>
                <Columns>
                    <ext:Column ColumnID="CommentDate" Header="Date" Align="Center" DataIndex="CommentDate" />
                    <ext:Column ColumnID="CommentCreator" Header="User" DataIndex="CommentCreator" />
                    <ext:Column ColumnID="Comment" Header="Comment" DataIndex="Comment" Width="282" >
                        <Editor>
                            <ext:TextArea ID="CommmentEditor" runat="server" />                                    
                        </Editor>
                    </ext:Column>
                </Columns> 
            </ColumnModel>
        </ext:GridPanel>
    </Content>
</ext:Window>

My problem is that the ValidateComment() handler on the ValidateEdit listener is never fire when I click on the save button of my rowEditor, whereas the CancelEdit handler works perfectly. 我的问题是,当我单击rowEditor的保存按钮时, ValidateEdit侦听器上的ValidateComment()处理函数永远不会触发,而CancelEdit处理函数却可以正常工作。 I tried also with the Fn instead of Handler and with the ValidateEdit listener directly on the GridPanel but same issues. 我也尝试使用Fn而不是Handler并直接在GridPanel上使用ValidateEdit侦听器,但是存在相同的问题。

Any ideas of what's wrong in this code ? 关于此代码有什么问题的任何想法?

EDIT 编辑

Got it. 得到它了。

When the edit textArea is empty nothing append but when it contains some text ValidateEdit is fired. 当edit textArea为空时,什么都没有追加,但是当它包含一些文本时, ValidateEdit被触发。 So new question : 所以新的问题:

What handler can I use for intercept click on the row editor save button even if the edit field is empty ? 即使编辑字段为空,我可以使用什么处理程序来拦截行编辑器保存按钮上的单击?

Everything works fine with my test case; 我的测试用例一切正常。

code behind; 后面的代码;

  protected void Page_Load(object sender, EventArgs e)
        {


            str.DataSource = this.Data;
            str.DataBind();
        }


         private object[] Data
    {
        get
        {
            DateTime now = DateTime.Now;

            return new object[]
            {
                new object[] { "", 0.02, now },
                new object[] { "Alcoa Inc", 29.01, now },
                new object[] { "Altria Group Inc", 83.81,now },
                new object[] { "American Express Company", 52.55, now },
                new object[] { "American International Group, Inc.", 64.13, now }

            };

        }

         }

presentation layer; 表示层

<ext:GridPanel ID="gvComment" runat="server">
    <Plugins>
        <ext:RowEditing runat="server" SaveText="Savexx">
            <Listeners>

                <CancelEdit  Handler="alert('bumm delete');">

                </CancelEdit>
                <ValidateEdit Handler="alert('bumm validate');" ></ValidateEdit>
            </Listeners>


        </ext:RowEditing>

    </Plugins>
    <Store>
        <ext:Store runat="server" ID="str">
            <Model>
                <ext:Model runat="server">
                    <Fields>
                        <ext:ModelField Name="Comment"></ext:ModelField>
                        <ext:ModelField Name="CommentCreator"></ext:ModelField>

                        <ext:ModelField Name="CommentDate"></ext:ModelField>

                    </Fields>

                </ext:Model>
            </Model>

        </ext:Store>

    </Store>
    <ColumnModel>
        <Columns>
            <ext:Column ColumnID="CommentDate" runat="server" Header="Date" Align="Center" DataIndex="CommentDate" />
            <ext:Column ColumnID="CommentCreator" runat="server"  Header="User" DataIndex="CommentCreator" />
            <ext:Column ColumnID="Comment" runat="server"  Header="Comment" DataIndex="Comment" Width="282" >
                <Editor>
                    <ext:TextArea ID="CommmentEditor" runat="server" />                                    
                </Editor>
            </ext:Column>
        </Columns> 
    </ColumnModel>
</ext:GridPanel>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM