2011-06-19 11 views
0

誰かがこのような問題に遭遇したことがあるかどうかはわかりません。telerikグリッドのバインド列としてカスケードドロップダウンリスト

私のASP.NET MVCアプリケーションでは、最初の2列がドロップダウンリストであるTelerik Gridコントロールがあります。私はこれらの各列のエディタテンプレートをtelerikのドロップダウンリストとして持っています。これらのドロップダウンリストはユーザーコントロール(.ascx)ファイルにあります。 ASCXファイルのコードは以下の通りです:

ユーザーコントロール1:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> 

<%=Html.Telerik().DropDownListFor(m => m) 
      .BindTo(new SelectList((IEnumerable)ViewData["AccountTypeSelectList"], "lookUpCode", "description")) 

%> 

ユーザーコントロール2:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> 


<%=Html.Telerik().DropDownListFor(m => m) 
      .BindTo(new SelectList((IEnumerable)ViewData["CreditAgenciesSelectList"], "description", "description")) 

%> 

次は、グリッドのバインドされた列である私のビューのコードです:

@(Html.Telerik().Grid<DealerOfferBaseKPI>() 
          .Name("T_KPI_CA") 
          .DataKeys(key => key.Add(o => o.DealerOfferRuleDetailId)) 
          .ToolBar(commands => 
          { 
           commands.Insert().ButtonType(GridButtonType.ImageAndText).ImageHtmlAttributes(new { style = "margin-left:0" }); 
          }) 
          .Columns(columns => 
          { 
           columns.Bound(o => o.AccountType).Title("Account Type").ClientTemplate("<#= AccountType #>").EditorTemplateName("AccountType"); 
           columns.Bound(o => o.CreditAgency).Title("Credit Agency").ClientTemplate("<#= CreditAgency #>").EditorTemplateName("CreditAgency"); 
           columns.Bound(o => o.PercentageAllowed).Title("Percentage Allowed"); 
           columns.Bound(o => o.EffectiveDate).Title("Effective Date").EditorTemplateName("Date").Format("{0:MM/dd/yyyy}"); 
           columns.Bound(o => o.ExpireDate).Title("Expire Date").EditorTemplateName("Date").Format("{0:MM/dd/yyyy}"); 
           columns.Command(commands => 
           { 
            commands.Delete().ButtonType(GridButtonType.BareImage); 
           }).Title("Actions"); 
          }) 
          .DataBinding(dataBinding => 
          { 
           dataBinding.Ajax() 
            .Select("_SelectKPIBatchEditing", "DealerOfferManagement", new { filterType = "KPIcreditAgency" }).Enabled(true) 
            .Update("_SaveKPIBatchEditing", "DealerOfferManagement").Enabled(true); 
          }) 
          .ClientEvents(ce => ce.OnSave("GridValidation")) 
          .Selectable() 
          .Scrollable() 
          .Pageable() 
          .Sortable() 
          ) 

これらの2つのドロップダウンリストをカスケードとして作成しようとしています。最初のドロップダウンの値は住宅、商業、ともにです。 2番目のドロップダウンの値は、Equifax、Experian、TransUnionおよびIntelliscoreです。最初のドロップダウンで住宅を選択すると、2番目のドロップダウンでIntelliscore以外のすべてを表示します。最初のドロップダウンの他の値については、2番目のドロップダウンのすべての値を表示します。

コントローラから2つのViewDataオブジェクトを使用して2つのドロップダウンの値を渡します。

このコードでは、選択リストの値がドロップダウンリストに表示されます。

何か助けていただければ幸いです。

答えて

0

最初のドロップダウンユーザーのクライアントイベントで、説明したように要素を追加または削除するようにjavacript here