<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說它在診斷問題時遇到了問題,並將我帶到一個通用錯誤頁面。
謝謝你們。