Javascript 基础设施:将功能绑定到+;/-带有iggrid和jquery的按钮

Javascript 基础设施:将功能绑定到+;/-带有iggrid和jquery的按钮,javascript,jquery,json,infragistics,ignite-ui,Javascript,Jquery,Json,Infragistics,Ignite Ui,我试图实现的是使用JQuery和JSON的按需加载功能 我的表中有一个值,我们称之为“BatchNumber”,当我单击+按钮时,我想触发一个函数,该函数将请求获取该特定订单行的所有对应数据。如何将事件绑定到+/-按钮?我不确定这方面的文档在哪里。现在,我正在解析一个完整的JSON层次数据集,但我想按需执行此操作。在下面的图像中,您可以看到我在批次下面的扩展订单详细信息 如果有帮助,这里是我当前的javascript: $(function () { var data = @Html.R

我试图实现的是使用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的工作非常陌生

这是我的网格的一个屏幕,用于上下文:

。 您可以在父网格的行被展开时检查所发出的AJAX请求,以便查看这些AJAX请求的输入和输出数据

我想强调最后一部分:。 尽管该功能似乎与ASP.NET MVC或oData紧密耦合,但您可以使用和后端数据提供程序,只要该提供程序符合分层网格对输入和输出数据的期望

至于挂接+/-按钮,我担心它们的事件不会暴露出来

就事件而言,您能得到的最好结果是行扩展子网格创建,或者更好的方法是:子网格填充

对任何层次化网格的按需加载功能都是一项艰巨的任务,所以不要担心——只要细节清楚,解决方案就不会那么难编写


我可以提供的最后一个参考(和示例)是官方基础设施论坛

通常,为IGHierarchyCalGrid的按需加载准备一个示例有点困难(需要服务器端,需要注意细节等),我确实准备了一些。在与您分享其中任何内容之前,我只想确保我已经正确理解了您的场景。否则,我可能会给你一个误导性的样本,这将导致更多的困惑而不是帮助。请帮我解决这个问题: