<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
, к которому привязана форма:
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 говорит, что у него возникают проблемы с диагностикой проблемы, и приводит меня к общей странице ошибок.
Спасибо, ребята.