2017-05-31 36 views
1

我正在使用DevExpress Gridview進行CRUD操作, 我正在關注this鏈接。和更新操作正常工作。插入ASPxGridView級聯DropDowns

我想插入新的行,所以我在GridView中添加了屬性,並且它顯示了創建按鈕。

問題是,在新行中,當我更改國家時,它不會自動更新城市。它在更改國家下拉菜單後調用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

主要思想是省略了 「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 

他們總是正確的「新「模式並跳過其餘代碼邏輯。

改爲在E3689處查看一個獨立的不依賴於db的解決方案。