Событие ValidateEdit не срабатывает в Ext rowEditor

Сначала мой код без материалов не касается:

<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>

Моя проблема в том, что обработчик ValidateComment() в прослушивателе ValidateEdit никогда не срабатывает, когда я нажимаю кнопку сохранения моего rowEditor, тогда как обработчик CancelEdit работает отлично. Я также пробовал с Fn вместо Handler и с прослушивателем ValidateEdit непосредственно на GridPanel, но те же проблемы.

Любые идеи о том, что не так в этом коде?

ИЗМЕНИТЬ

Понятно.

Когда область редактирования textArea пуста, ничего не добавляется, но когда она содержит некоторый текст, запускается ValidateEdit. Итак, новый вопрос:

Какой обработчик я могу использовать для перехвата нажатия на кнопку сохранения редактора строк, даже если поле редактирования пусто?


person Shadam    schedule 04.12.2013    source источник
comment
Просто небольшой вопрос: я еще не видел документ для такого рода разметки. Все, что я знаю, это фреймворк javascript. Можете дать ссылку на документ?   -  person Lorenz Meyer    schedule 04.12.2013
comment
@LorenzMeyer: я не нашел его в документе sencha, но могу показать вам пример   -  person Shadam    schedule 06.12.2013
comment
Я понимаю. Это код ASP.net на стороне сервера, Ext.NET, а не ExtJs. Я переименую ваш вопрос в ext.net   -  person Lorenz Meyer    schedule 06.12.2013
comment
где ваш магазин, где данные?! ваш код неправильный, вы должны использовать редактирование строк, а не редактирование строк   -  person sakir    schedule 19.12.2013


Ответы (1)


Все отлично работает с моим тестовым случаем;

код позади;

  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 }

            };

        }

         }

уровень представления;

<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>
person sakir    schedule 19.12.2013