каскадный выпадающий список в виде связанного столбца на сетке Telerik - PullRequest
0 голосов
/ 19 июня 2011

Я не уверен, сталкивался ли кто-нибудь с подобной проблемой.

В моем приложении ASP.NET MVC у меня есть элемент управления Telerik Grid, в котором первые 2 столбца имеют выпадающие списки.У меня есть шаблон редактора для каждого из этих столбцов как выпадающие списки 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 выпадающих списка каскадными.Значения первого раскрывающегося списка Жилой, Коммерческий и Оба .Значения во втором раскрывающемся списке: Equifax, Experian, TransUnion и Intelliscore .Когда я выбираю жилой в первом раскрывающемся списке, я хочу, чтобы во втором раскрывающемся списке отображалось все, но не Intelliscore.Для всех других значений первого раскрывающегося списка я хочу, чтобы все значения второго раскрывающегося списка отображались.

Я передаю значения 2 раскрывающихся списков, используя 2 объекта ViewData из моего контроллера.

При показанном коде значения в списке выбора отображаются в выпадающих списках просто отлично.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 20 июня 2011

На клиентском событии изменения первого выпадающего пользовательского JavaScript, чтобы добавить или удалить элемент, как объяснено здесь

...