Из того, что я читал, e.NewValues должен заполнить новое значение, которое было обновлено, для переданного ему FieldName. Но я получаю null каждый раз.Событие RowValidating сетки DevExpress, возвращающее значение null на e.NewValues
А вот вид отладки. Я изменяю значение поля ShalePlay, и событие RowValidating запускается, как ожидалось. Но проверка NewValue возвращает null.
Любые идеи о том, что я делаю неправильно здесь?
EDIT: Разметка:
<dx:ASPxGridView
ID="gvLocation"
runat="server"
AutoGenerateColumns="False"
DataSourceID="esmdsLocation"
ClientInstanceName="gvLocation"
ViewStateMode="Disabled"
KeyFieldName="LocationPK"
Width="600px"
OnCellEditorInitialize="gvLocation_CellEditorInitialize"
OnCommandButtonInitialize="gvLocation_CommandButtonInitialize"
OnStartRowEditing="gvLocation_StartRowEditing"
OnRowValidating="gvLocation_RowValidating">
<%-- <ClientSideEvents BeginCallback="
function(s, e) {loadingPanel.Show();}"
EndCallback="
function(s, e) {loadingPanel.Hide();}" />--%>
<Columns>
<dx:GridViewCommandColumn VisibleIndex="0">
<EditButton Visible="True">
</EditButton>
<NewButton Visible="True">
</NewButton>
</dx:GridViewCommandColumn>
<dx:GridViewDataHyperLinkColumn FieldName="LocationPK" ReadOnly="True" ShowInCustomizationForm="True" VisibleIndex="1">
<DataItemTemplate>
<a href="javascript:void(0);" onclick="gvLocation_LinkClick('<%# Container.VisibleIndex %>');"><%# DataBinder.Eval(Container.DataItem,"LocationPK") %></a>
</DataItemTemplate>
</dx:GridViewDataHyperLinkColumn>
<dx:GridViewDataTextColumn FieldName="LocationName" ShowInCustomizationForm="True" VisibleIndex="2" />
<dx:GridViewDataComboBoxColumn FieldName="FieldType" ShowInCustomizationForm="True" VisibleIndex="3" />
<dx:GridViewDataComboBoxColumn FieldName="County" ShowInCustomizationForm="True" VisibleIndex="4" />
<dx:GridViewDataComboBoxColumn FieldName="State" ShowInCustomizationForm="True" VisibleIndex="5" />
<dx:GridViewDataComboBoxColumn FieldName="ShalePlay" ShowInCustomizationForm="True" VisibleIndex="6" />
</Columns>
<Settings ShowFilterBar="Visible" ShowFilterRow="True" ShowGroupPanel="True" />
<SettingsBehavior AllowFocusedRow="True" />
<SettingsLoadingPanel Mode="Disabled" />
Я не думаю, что это проблема вторая. Я изменил FieldName на другое имя «Shale Play», просто чтобы проверить. В то же время я получил совершенно другую ошибку. И он на самом деле сказал: «Полевое поле или свойство с именем« Shale Play »не было найдено в выбранных данных». Для первого вопроса источник данных привязан во время разработки. У нас есть элемент управления EntityServerModeDataSource, связанный с свойством DataSourceID. – ernest
@ernest О, ладно. Было бы полезно, если бы вы отредактировали свой вопрос, включив соответствующую разметку (сетку и источник данных). – jadarnel27
Я включил разметку для сетки. – ernest