DevExpressGridViewMVC拡張機能のグリッド設定を構成するためにRazorビューで使用される次のコードがあります。コードはすべて問題ありませんが、グリッドからデータをエクスポートしたいと思います。これには、「サーバー」、つまりビューのアップストリームで同じ構成コードが必要です。プロパティへの必要なアクセスがない場合は、これを非常に簡単に実行して、ビューモデルにGridSettingsプロパティを提供できWebViewPage<TModel>.ViewContext
ます。
現在、私は本当に醜い回避策を使用してViewContext
おり、ビューからコントローラーに戻しています。次に、コントローラーがグリッド設定を作成します。言うまでもなく、コントローラーのメソッドを呼び出すビューはかなり臭いです。
settings.Columns.Add(column =>
{
column.Caption = "#";
column.SetDataItemTemplateContent(c =>
{
ViewContext.Writer.Write(
Html.ActionLink("Edit", "Edit", new {id = DataBinder.Eval(c.DataItem, "Id")}) + " " +
Html.ActionLink("Delete", "Delete", new {id = DataBinder.Eval(c.DataItem, "Id")},
new {onclick = "return confirm('Do you really want to delete this record? [Just say no!]')"})
);
});
column.SetHeaderTemplateContent(c => ViewContext.Writer.Write(Html.ActionLink("New", "Create")));
column.Settings.AllowDragDrop = DefaultBoolean.False;
column.Settings.AllowSort = DefaultBoolean.False;
column.Width = 70;
});
settings.Columns.Add("RefNum", "Emp. No.");