私は asp.net mvc Web アプリケーションに取り組んでおり、このリンクhttp://gridmvc.codeplex.com/にある Grid.MVC プラグインを使用したいと考えています。だから私は次のことをしました: -
NuGet パッケージから、Grid.MVC をプロジェクトにインストールしました。
私は私のビューに以下を追加しました:-
@model IEnumerable<WebApplication30.Models.Employee>
@using GridMvc.Html
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<div style="width:500px;">
@Html.Grid(Model).Columns(columns =>
{
columns.Add(c => c.FName).Titled(Html.DisplayNameFor(model => model.FName).ToString()).Filterable(true);
columns.Add(c => c.LName).Titled(Html.DisplayNameFor(model => model.LName).ToString()).Filterable(true);
columns.Add(c => c.Dept.DeptName).Titled("deptname").Filterable(true);;
}).WithPaging(3).Sortable(true)
</div>
モデルは次のようになります。
public partial class Employee
{
public int Id { get; set; }
[Display(Name = "First Name")]
public string FName { get; set; }
[Display(Name = "Last Name")]
public string LName { get; set; }
public int DeptID { get; set; }
public virtual Dept Dept { get; set; }
}
コントローラは次のとおりです。
public ActionResult Index()
{
var employees = db.Employees.Include(e => e.Dept);
return View(employees.ToList());
}
現在、ページング + 列の並べ替えはうまく機能しています。しかし、私は彼らとこれらの問題に直面しています:-
ページング + 列の並べ替えは、ページ全体の再読み込みにつながります。では、Ajax ベースの対話を指定できますか?
ページング + 列の並べ替えはクライアント側で行われるため、ビューにアクセスするたびに、データベースからデータ全体を取得します。サーバー側でこれを行う方法はありますか。