我使用DevExpress Gridview进行CRUD操作, 我正在关注this链接。并且更新操作正常。
我想插入新行,所以我在Gridview中添加了属性,并显示了创建按钮。
问题是,在新行中,当我更改国家/地区时,它不会自动更新城市。它在更改Country下拉列表后调用JavaScript函数,但不调用C#代码函数。
下面是我的网格代码,
<dx:ASPxGridView AutoGenerateColumns="false"
ClientSideEvents-Init="OnInit"
DataSourceID="dsMasterDataList"
ClientInstanceName="gvMasterDataList"
ID="gvMasterDataList"
KeyFieldName="ID"
OnBatchUpdate="GvMasterDataList_BatchUpdate"
OnCellEditorInitialize="gvMasterDataList_CellEditorInitialize"
OnCommandButtonInitialize="gvMasterDataList_CommandButtonInitialize"
OnRowDeleted="gvMasterDataList_RowDeleted"
OnRowInserted="gvMasterDataList_RowInserted"
OnRowUpdated="gvMasterDataList_RowUpdated"
OnRowValidating="gvMasterDataList_RowValidating"
OnSummaryDisplayText="gvMasterDataList_SummaryDisplayText"
runat="server" >
<SettingsEditing Mode="Inline" />
<Columns>
<dx:GridViewCommandColumn ButtonType="Image" Caption=" " FixedStyle="Left" ShowClearFilterButton="true" ShowDeleteButton="true" ShowNewButtonInHeader="true" Width="32" />
<dx:GridViewCommandColumn ShowEditButton="true" Caption=" " ShowClearFilterButton="true" />
<dx:GridViewDataTextColumn FieldName="ID" Visible="false" />
..
..
我需要更改以使其正常工作?
答案 0 :(得分:0)
主要思想是在“grid_CellEditorInitialize”事件处理程序中省略以下条件:
CS:
//if(!grid.IsEditing || e.Column.FieldName != "City") return;
//if(e.KeyValue == DBNull.Value || e.KeyValue == null) return;
VB:
'If (Not grid.IsEditing) OrElse e.Column.FieldName <> "City" Then
' Return
'End If
'If e.KeyValue Is DBNull.Value OrElse e.KeyValue Is Nothing Then
' Return
'End If
对于“新”模式,它们始终为true,并跳过其余的代码逻辑。
请在E3689处查看独立于数据库的独立解决方案。