0

Viewbag 要素の値に基づいて条件付きでグループ化するには、列名または値 'none' を剣道グリッドに渡す必要があります。列名を渡すと、期待どおりにグループ化されます。私の問題は、値「なし」が渡された場合、グループ化を行わないことです。私が持っているコードは次のとおりです。

@(Html.Kendo().Grid<dynamic>()
    .Name("exportGrid")
    .DataSource(dataSource =>
    {
        dataSource.Ajax()
        .Read("ReadGrid", "Report", new { id = Model.Inquiry_ID })
        .Group(grp => grp.Add(ViewBag.groupBy, typeof(string)))
        .Model(m =>
        {
            // Add the fields to the dynamic model
            foreach (var field in Fields)
            {
                switch (field.DATA_TYP_NUM)
                {
                    case 1: m.Field(field.INTERNL_NME, typeof(string)); break;
                    case 2: m.Field(field.INTERNL_NME, typeof(double?)); break;
                    case 3: m.Field(field.INTERNL_NME, typeof(double?)); break;
                    case 4: m.Field(field.INTERNL_NME, typeof(DateTime?)); break;
                }
            }
        })

        .ServerOperation(true);
    })
    .Groupable()
    .Filterable()
    .Sortable()
    .ColumnMenu()
    .Events(e => e.DataBound("onDataBound"))
    .Resizable(resize => resize.Columns(true))
    .Columns(columns =>

私が言ったように-これはうまくいきますが、次の.Group(....)場合に句を除外する方法が必要ですViewbag.groupBy == "none"

4

1 に答える 1

6

Groupオプションに条件を追加するだけです:

.Group(grp => {
    if(ViewBag.groupBy != "none") {
        grp.Add(ViewBag.groupBy, typeof(string));
    }
})
于 2013-04-25T15:42:29.540 に答える