私が達成しようとしているのは、JQuery と JSON を使用したロード オン デマンド機能です。
テーブルに値があり、それを「BatchNumber」と呼びましょう。+ ボタンをクリックすると、その特定の注文行に対応するすべてのデータを取得する要求を行う関数をトリガーしたいと考えています。イベントを +/- ボタンにバインドするにはどうすればよいですか? これに関するドキュメントがどこにあるのかわかりません。現在、完全な JSON 階層データセットを解析していますが、これをオンデマンドで行いたいと考えています。下の画像では、バッチの下に展開された注文の詳細がある場所を確認できます。
ここで役立つ場合は、現在の JavaScript です。
$(function () {
var data = @Html.Raw(Json.Encode(Model));
$("#grid").igHierarchicalGrid({
dataSource: data,
primaryKey: "BatchNumber",
autoGenerateColumns: false,
odata: false,
initialDataBindDepth: 1,
columns: [
{ headerText: "Batch Number", key: "BatchNumber", dataType: "string" },
{ headerText: "Process Date", key: "BatchGroupItemDate", dataType: "date", format: "MM-d-yyyy, h:mm tt" },
{ headerText: "Batch Comment", key: "BatchComment", dataType: "string" },
{ headerText: "Number Of Documents", key: "NumberOfDocuments", dataType: "number" },
{ headerText: "Total Transfered", key: "TotalTransfered", dataType: "number" },
{ headerText: "Not Transfered", key: "NotTransfered", dataType: "number" }
],
features: [
{
name: "Sorting",
type: "local"
},
{
name: "Filtering",
type: "local"
},
{
name: 'Paging',
type: "local",
pageSize: 10
}
],
autoGenerateLayouts: false,
columnLayouts:[ //This is where I would like to build on demand by calling to the controller for information and inserting it into the grid based on the batchnumber.
{
key: "BatchDetails",
autoGenerateColumns: false,
primaryKey: "Key",
foreignKey: "BatchNumber",
responseDataKey: 'results',
columns: [
{ headerText: "Order #", key: "Key", dataType: "string" },
{ headerText: "Process Date", key: "Date", dataType: "date", format: "MM-dd-yyyy, h:mm:ss tt" },
{ headerText: "Batch Comment", key: "BatchComment", dataType: "string" },
{ headerText: "Last Error Message", key: "LastErrorMessage", dataType: "string" },
{ headerText: "Transferred Status", key: "TransferredStatus", dataType: "string" },
{ headerText: "Transfer Date", key: "TransferDate", dataType: "date"}
],
features: [
{
name: "Sorting",
type: "local"
}]
}
]
});
});
私はこれを手探りしているので、さらに情報が必要な場合は、質問してください。質問を更新します。私はjqueryとjsonの作業に非常に慣れていません。
コンテキストのグリッドの画面は次のとおりです。