2016-11-11 7 views
0

私はGridViewDataComboBoxColumnのどこにEditFormがあるのですか? テキストフィールドと値フィールドの両方が文字列のみです。私は最初のドロップダウンから値を選択した場合、それは2番目のドロップドロップで値を取得していないことを意味するnull値を返しますどこで私はコードを変更する必要があります。Aspxgridview編集フォームカスケードドロップダウン

第1コンボボックスからの値はありません。 私は何の誤りもありません。

種類コードを確認してください。

[C#] 
protected void grdMaterialsFlow_CellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e) 
     { 
if (e.Column.FieldName == "SKU") 
       { 
        DataSet ds = new DataSet(); 
        FacilityId = ((DevExpress.Web.ASPxCallbackPanel)this.Page.Master.FindControl("cmpMastePageCallBackPanel")).FindControl("TitleContent").FindControl("cmbFacility") as DevExpress.Web.ASPxComboBox; 
        string val = FacilityId == null ? String.Empty : FacilityId.SelectedItem == null ? String.Empty : Convert.ToString(FacilityId.SelectedItem.Value); 
        ds = DBMethod.SelectSKUname(FacilityId.SelectedItem.Value.ToString()); 
        ASPxComboBox cmb = e.Editor as ASPxComboBox; 
        SMgmt.PropddsUserRole = ds; 
        cmb.DataSource = ds; 
        cmb.ValueField = "SKU"; 
        //cmb.ValueType = typeof(int); 
        cmb.TextField = "SKU"; 
        cmb.DataBindItems(); 
       } 
if (e.Column.FieldName == "UOM") 
       { 
        var combo = (ASPxComboBox)e.Editor; 
        combo.Callback += new CallbackEventHandlerBase(cmbUOM_OnCallback); 
        var grid = e.Column.Grid; 
        if (!combo.IsCallback) 
        { 
         string SKU = ""; 
         if (!grid.IsNewRowEditing) 
          SKU = (String)grid.GetRowValues(e.VisibleIndex, "SKU"); 
         FillUOMCombo(combo, SKU); 
        } 
       } 
} 
protected void FillUOMCombo(ASPxComboBox cmb, String SKU) 
     { 
      FacilityId = ((DevExpress.Web.ASPxCallbackPanel)this.Page.Master.FindControl("cmpMastePageCallBackPanel")).FindControl("TitleContent").FindControl("cmbFacility") as DevExpress.Web.ASPxComboBox; 
      string val = FacilityId == null ? String.Empty : FacilityId.SelectedItem == null ? String.Empty : Convert.ToString(FacilityId.SelectedItem.Value); 
      DataSet ds = DBMethod.SelectUOMname((SKU), val); 
      cmb.DataSource = ds; 
      cmb.ValueField = "UOM"; 
      cmb.ValueType = typeof(string); 
      cmb.TextField = "UOM"; 
      cmb.DataBindItems(); 
     } 
     void cmbUOM_OnCallback(object source, CallbackEventArgsBase e) 
     {  

      var UOM = -1; 
      Int32.TryParse(e.Parameter, out UOM); 
      FillUOMCombo(source as ASPxComboBox, UOM.ToString()); 

     } 

答えて

0
void cmbUOM_OnCallback(object source, CallbackEventArgsBase e) 
     { 
      ASPxComboBox combo = (ASPxComboBox)source; 
      FillUOMCombo(combo, e.Parameter); 
     } 

このメソッドは、コンボボックス

+0

内のテキストを取得するために使用されるそれは正常に動作しますありがとう –

関連する問題