2011-04-22 16 views
0
<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要素のページでエクスポートアクションをトリガーするために使用できます。JQGrid export to 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関数が使用していることである:ここではフォームがに接続されていonClick方法があります。ビューに埋め込まれた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は問題の診断に問題があり、一般的なエラーページを表示します。

ありがとうございます。

答えて

1

ローカルマシンのローカル環境でurl /extranet/mvc/Indications.cfc/SavedIndicationsExportToExcel?id=3にアクセスして、次に何が起こるかを確認し、同じURLにアクセスして同じ結果が得られているかどうかを確認してください(URLにいくつかのパラメータを付ける必要があります)。これがローカルで動作し、統合で動作しない場合はjavascriptのエラーではありません。統合に同じ/extranet/の部分がない場合と同じURLパターンがあることを確認してください。セッションやエクスポートのようないくつかの追加のパラメータが必要な場合があります(ログにはエラーが表示されるはずです)。

これが役に立ったら願っています。

関連する問題