1

Telerik MVC グリッドを使用する部分ビューがあり、次のような列バインディング コードがあります (非常に部分的なビュー)。

.Columns(column =>
{
    column.Bound(model => model.PlannedFinishDate).Title("Planned Date").Format("{0:dd/MM/yyyy}").Width(83);
    column.Bound(model => model.Province).Width(70);
    if (Roles.IsUserInRole("Controller") == true)
    {
        column.Bound(model => model.InstallerName).Width(85);
        column.Bound(model => model.InstallerAccepted).Title("Accepted").Width(45);
        column.Bound(model => model.KitShippedDescription).Width(70);
    }
// etc. etc.

ここで、グリッドでレンダリングされたのと同じデータを Excel にエクスポートするコントローラー アクションを作成する必要があります。また、同じロール ベースの列の包含/除外が必要です。ロール チェック ロジックを複製したくないので、ここで使用するデータをコントローラーで列バインディングに生成し、それを ViewData と共に渡し、それをビューで使用して動的に列をバインドする方法を探しています。 .

4

1 に答える 1

1

おそらく、この例が役立つでしょう。ただし、免責事項があります-これはまだベータ版であり、最終的なAPIは

.Columns((IEnumerable<GridColumnSettings<T>>)ViewData["Columns"])

.Columns(columns => columns.LoadSettings((IEnumerable<GridColumnSettings<T>>)ViewData["Columns"]))
于 2010-08-24T15:45:26.243 に答える