如何根据Kendo ComboBox的值隐藏Kendo Grid中的列

时间:2014-09-16 13:29:59

标签: hide kendo-grid kendo-combobox

我的应用程序中有一个Kendo Grid

    @(Html.Kendo().Grid<AanvragenZoekenViewModel.ZoekResultaat>()
    .Name("Grid")
    .Columns(columns =>
    {
...
        columns.Bound(zoekResultaat => zoekResultaat.OpmerkingCode).ClientTemplate("#= OpmerkingCode#").Hidden(Model.DossierLijst);
        columns.Bound(zoekResultaat => zoekResultaat.OpmerkingOmschrijving).ClientTemplate("#= OpmerkingOmschrijving#").Hidden(Model.DossierLijst);
    })
   ...
    )
)

和Kendo ComboBox

@(Html.Kendo().ComboBoxFor(t => t.ZoekCriteria.Lijst)
                .Name("Lijst")
                .DataTextField("Omschrijving")
                .DataValueField("Id")
                .Placeholder("Maak een selectie")
                .Filter(FilterType.Contains)
                .HtmlAttributes(new { @class = "comboStyle" })
                .DataSource(source =>
                {
                    source.Read(read =>
                    {
                        read.Action(MVC.Dashboard.ActionNames.LoadLijstIntoComboBox, MVC.Dashboard.Name);
                    })
                    .ServerFiltering(true);
                })
                .AutoBind(false)
                .Value(Model.LijstDefault)
            )

是否可以使用隐藏()根据所选的ComboBox值隐藏一列?

columns.Bound(zoekResultaat => zoekResultaat.OpmerkingOmschrijving).ClientTemplate("#= OpmerkingOmschrijving#").Hidden(**SelectedValueFromComboBox**);

1 个答案:

答案 0 :(得分:0)

columns.Bound(zoekResultaat => zoekResultaat.OpmerkingOmschrijving).ClientTemplate("#= OpmerkingOmschrijving#").Hidden(**SelectedValueFromComboBox**);

这是服务器端操作,不能依赖于前端操作(选择组合框值)。

您可以使用javascript来控制列的可见性。

参考:http://jsfiddle.net/OnaBai/XNcmt/