2

我是 jqGrid 的新手。你能帮我解决这个要求吗?

当在 jqGrid 中双击单元格时,我想打开一个新的模式对话框。每个单元格将打开一个不同的模式对话框,这取决于列、行组合。所以这必须动态决定。

我正在使用 asp.net mvc 视图显示在对话框中。

添加我正在处理的代码:(仍然没有格式化)

     $.ajax(
                {
                    type: "GET",
                    url: "/Forecast/GetColumnsAndData/",
                    data: "",
                    dataType: "json",
                    success: function (result) {
                        colN = jQuery.parseJSON(result.colNames);
                        colM = jQuery.parseJSON(result.colModel);
                        jQuery("#rowed2").jqGrid({
                            url: '/Forecast/GridData/',
                            datatype: 'json',
                            mtype: 'GET',
                            colNames: colN,
                            colModel: colM,
                            rowNum: 10,
                            rowList: [10, 20, 30],
                            viewrecords: true,
                            onCellSelect: function (rowid, iCol, cellcontent) {
                                //Need to add the code for modal dialog and criteria check
                            },
                            gridComplete: function () {
                                var ids = jQuery("#rowed2").jqGrid('getDataIDs');
                                for (var i = 0; i < ids.length; i++) {
                                    var cl = ids[i];
                                    be = "<input style='height:22px;width:20px;' type='button' value='E' onclick=\"editrows('" + cl + "');\"  />";
                                    se = "<input style='height:22px;width:20px;' type='button' value='S' onclick=\"jQuery('#rowed2').saveRow('" + cl + "', '','/Forecast/GridDataSave/');\"  />";
                                    ce = "<input style='height:22px;width:20px;' type='button' value='C' onclick=\"jQuery('#rowed2').restoreRow('" + cl + "');\" />";
                                    jQuery("#rowed2").jqGrid('setRowData', ids[i], { act: be + se + ce });
                                }
                            },

                            caption: "Forecast Details"
                        });
                        jQuery("#rowed2").jqGrid('navGrid', "#prowed2", { edit: true, add: false, del: false });
                        jQuery("#rowed2").jqGrid('setGroupHeaders', {
                            useColSpanStyle: true,
                            groupHeaders: [
                                { startColumnName: 'Hours1', numberOfColumns: 2, titleText: '<center>October</center>' },
                                { startColumnName: 'Hours2', numberOfColumns: 2, titleText: '<center>November</center>' }
                              ]
                        });
                    },
                    error: function (x, e) {
                        alert(x.readyState + " " + x.status + " " + e.msg);
                    }
                });
4

1 回答 1

1

有一个用于双击的 jqGrid 事件,您可以在 jqGrid 中使用它

ondblClickRow: function (rowId, iRow, iCol, e) {
    //new modal based on above
}
于 2012-10-31T11:14:01.537 回答