Datatablesのヘルパー クラスを作成しようとしていますが、アドバイスが必要です。
DataTables
特定のモデルによって型指定されたの設定を表すオブジェクトに渡すことができるヘルパーを作成したいと考えています。このオブジェクトには、ヘルパーが使用する列を表す式のコレクションが含まれます。オブジェクトの一部としてDataTables
、グリッドのデータを提供する URL を保持するプロパティがあります。これは実質的にsAjaxSource
パラメーターになります。URL 呼び出しの一部として、列に関する情報を含む JSON パッケージが送信されます。このセクション全体で、ビルド方法を理解しています。基本的に、DataTables
列定義を含む JavaScript コードを作成し、URL で渡したい列を表す JSON オブジェクトを作成します。
アドバイスが必要な領域は、サーバー/コントローラーへの呼び出しが行われた後に特定の列のデータを構築することです。したがって、私のコントローラーは次のようになります。
public ActionResult GetUsersList(IEnumerable<DatatableColumnJson> columns)
{
var users = _someUserRepository.GetAll();
foreach (var user in users)
{
//Here I would build the JSON that DataTables needs to render the grid.
//I would iterate through the users and pull out the data for the specific columns
}
return Json(someCompleteDataTablesObject, JsonRequestBehavior.AllowGet);
}
サポート クラス:
public class DatatableColumnJson
{
public string Name { get; set; }
public string Visible { get; set; }
}
public class User
{
public string UserName { get; set; }
public string Email { get; set; }
}
だから、最初はリフレクションを使えると思ったのですが、それは少し集中しているようです。もう 1 つの考えは、列名を式に変換してデータを引き出すことでした。私は何か効率的でオーバーヘッドがあまりないものを望んでいますが、多分私はあまりにも多くを求めています.