Получить значения из пользовательской формы в ASPxGridView - PullRequest
2 голосов
/ 07 июня 2011

У меня есть пользовательская форма редактирования, созданная для ASPxGridView, но у меня большая проблема с получением значений при вставке.

Шаблон:

<Templates>
    <EditForm>
        Company Name: <dx:ASPxTextBox ID="CompanyName" runat="server" />
        Company Mail: <dx:ASPxTextBox ID="Email" runat="server" />

        <dx:ASPxGridViewTemplateReplacement ID="UpdateButton" ReplacementType="EditFormUpdateButton" runat="server" />
        <dx:ASPxGridViewTemplateReplacement ID="CancelButton" ReplacementType="EditFormCancelButton" runat="server" />

    </EditForm>
</Templates>

не получается, пустые значения e.New

protected void ASPxGridView1_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
{
    string CompanyName = (string)e.NewValues["CompanyName"]; // (or .toString())
    string Email = (string)e.NewValues["Email"];
}

Кто-нибудь знает, как это решить?

Спасибо

Ответы [ 2 ]

5 голосов
/ 07 июня 2011

Коллекция e.NewValues ​​пуста, поскольку вы не связывали редакторы с данными. Чтобы ваш код работал, его нужно изменить следующим образом:

Company Name: <dx:ASPxTextBox ID="CompanyName" runat="server" Value="<% #Bind('CompanyName')%>"/>
Company Mail: <dx:ASPxTextBox ID="Email" runat="server" Value="<% #Bind('Email')%>"/>
0 голосов
/ 07 июня 2011

Похоже, вы пытаетесь присвоить NewValues ​​строке. RowUpdatingEvent кажется лучшим событием для получения NewValues; у вас также будет доступ к OldValues. Проверьте это: http://documentation.devexpress.com/#AspNet/DevExpressWebASPxGridViewASPxGridView_RowUpdatingtopic

...