#vb.net #webforms #devexpress
#vb.net #веб-формы #devexpress
Вопрос:
Я использую форму редактирования devexpress в своем проекте Visual Basic. Я запрашиваю пользовательский ввод для a ASPxGridView
, вызывается одно из значений, Start Date
которое объявляется в сетке как:
<dx:GridViewDataDateColumn Caption="Start Date" FieldName="StartDate" HeaderStyle-Wrap="true" UnboundType="String" EditFormSettings-VisibleIndex="1" >
<PropertiesDateEdit DisplayFormatString="D" EditFormatString="D" ValidationSettings-RequiredField-IsRequired ="true"></PropertiesDateEdit>
</dx:GridViewDataDateColumn>
И источник данных выглядит следующим образом:
<asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:SpEdPortalConnectionString %>"
SelectCommand="ProcedureName" SelectCommandType="StoredProcedure"
UpdateCommand="ProcedureName" UpdateCommandType="StoredProcedure"
InsertCommand="ProcedureName" InsertCommandType="StoredProcedure">
<SelectParameters>
***
</SelectParameters>
<UpdateParameters>
***
</UpdateParameters>
<InsertParameters>
***
<asp:Parameter Name="StartDate" Type="String" />
***
</InsertParameters>
</asp:SqlDataSource>
Проблема: даже если я на самом деле выбираю datevalue для StartDate, значение, вставленное в базу данных, равно null.
Примечание: ошибка обратного вызова отображается только на развернутом сервере, а не в локальной среде.Но на локальном он вставляет null, поэтому кажется, что проблема тоже есть, но она не вызывает исключения.
Ответ №1:
Я не смог найти причину, но проблема была решена путем добавления тега EditTemplate и ручной привязки значения следующим образом:
<dx:GridViewDataDateColumn Caption="Start Date" FieldName="StartDate" HeaderStyle-Wrap="true" UnboundType="String" EditFormSettings-VisibleIndex="1" >
<PropertiesDateEdit DisplayFormatString="D" EditFormatString="D" ValidationSettings-RequiredField-IsRequired ="true"></PropertiesDateEdit>
<EditItemTemplate>
<dx:ASPxDateEdit ID="dteSD" runat="server" ClientInstanceName="dteSD"
Date='<%# Bind("StartDate") %>'>
</dx:ASPxDateEdit>
</EditItemTemplate>
</dx:GridViewDataDateColumn>
Если формат изменится, вы можете просто добавить Theme
свойство внутри dx:ASPxDateEdit
тега