<form action="" method="post" id="SaveIndicationsExportForm">
<table cellspacing="0" cellpadding="0" id="hover" style="float: left;">
<tbody>
<tr>
<td class="hoverButtonLeft off">
</td>
<td class="hoverButtonMid off">
<div onclick="resultsGridExportToExcel()" buttonize="true" buttonized="true">
<img src="/Extranet/img/buttons/excel_icon.gif"> Export To Excel
</div>
</td>
<td class="hoverButtonRight off">
</td>
<td class="hoverButtonSpace off">
</td>
</tr>
</tbody>
</table>
</form>
这就是我在页面上的表单。基本上,这只是一个伪表单,我可以用它来触发JQGrid元素页面上的导出操作。这里是onClick
方法形式依赖于:JQGrid导出为excel在本地工作,但从未在集成环境中
function resultsGridExportToExcel()
{
var exportUrl = '/extranet/mvc/Indications.cfc/SavedIndicationsExportToExcel?id=3';
var postData = jQuery('#resultsGrid').jqGrid('getGridParam', 'postData');
$.each(postData, function(key, value)
{
exportUrl += '&'+key+'='+encodeURIComponent(value);
});
$('#SaveIndicationsExportForm').attr('action', exportUrl).submit();
}
这里是#resultsGrid
的函数使用。它把使用的视图嵌入式C#代码页的顶部:
<%
var grid = Chatham.Web.Models.Indications.SavedIndication.GetGrid("#resultsGrid", Url.Action("SavedIndications", "Indications"), "columnChooser", 500, 800);
%>
而且getGrid
看起来像这样:
public static JqGridDefinition GetGrid(string tableId, string actionUrl, string pageUrl, int height, int width)
{
var gridDefinition = new JqGrid.JqGridDefinition(
tableId,
actionUrl,
pageUrl);
gridDefinition.RowList = new List<int>() { 25, 50, 100, 500 };
gridDefinition.AlwaysShowSortingButtons = true;
gridDefinition.Grouping = true;
gridDefinition.GroupingColumn = "CreatedBy";
gridDefinition.ShowGroupColumn = true;
gridDefinition.GroupingTitle = string.Format("['<b>{0}0{1}</b>']", "{", "}");
gridDefinition.SetExportToExcel(
"SaveIndicationsExportForm",
System.Web.VirtualPathUtility.ToAbsolute("~/mvc/Indications.cfc/SavedIndicationsExportToExcel?id=3"));
gridDefinition.ShowAdvancedSearch = true;
gridDefinition.Height = height;
gridDefinition.Width = width;
gridDefinition.Multiselect = false;
gridDefinition.AlwaysShowSortingButtons = true;
gridDefinition.SearchToolbar = false;
gridDefinition.NoResultsMessage = "No Saved Indications Found";
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Nickname", "NickName", true, true, 80, false));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Created By", "CreatedBy", true, true, 80, false, true));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Notional", "Notional", true, true, 80, false, FilterHelper.DateNumberSearchOptions));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Effective Date", "EffectiveDate", true, true, 95, true, true, FilterHelper.DateNumberSearchOptions));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Maturity Date", "MaturityDate", true, true, 95, true, true, FilterHelper.DateNumberSearchOptions));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Term (YR)", "Term", true, true, 50, false, FilterHelper.DateNumberSearchOptions));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Amort. Term Yr", "AmortTermMonths", true, true, 95, true, FilterHelper.DateNumberSearchOptions));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Product", "Product", true, true, 50, false, true));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Rate/Price", "KeyRate", true, true, 95, true, FilterHelper.DateNumberSearchOptions));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("PV01", "PV01", true, true, 95, true, FilterHelper.DateNumberSearchOptions));
var calculateDate = new JqGrid.JqGridColumnDefinition("Calculate Date", "RateTimeStamp", true, true, 95, false, FilterHelper.DateNumberSearchOptions);
calculateDate.CustomFormatterDelegate = new CustomFormatter(DateTimeFormatting);
gridDefinition.AddColumn(calculateDate);
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Group", "Project", true, true, 95, true, true));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Option Strike", "CapStike", true, true, 95, true));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Trade Type", "Permission", true, true, 95, true));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Profit", "Profit", true, true, 95, false));
gridDefinition.AddColumn(new JqGrid.JqGridColumnDefinition("Actions", "actions", true, true, 95, false));
return gridDefinition;
}
这真的我此刻得到。如果您需要查看其他内容,请告诉我。但是我可以在本地环境中正常导出,然后只要我尝试集成它就无法工作,只是将我带到一个空白页面,IE说它在诊断问题时遇到了问题,并将我带到一个通用错误页面。
谢谢你们。