エクスポートと表示ページングのボタン付きのDataGridを使用しています。Ajax BeginFormとButtonsを使用したJquery DataTableプラグイン
このようなプラグインのロード:
var table = $('#resultsTable').DataTable({ dom: 'Bfrtip', initComplete: function (settings, json) { debugger; $('#resultsTable').DataTable().buttons().container().appendTo('#UserHead'); },
lengthMenu: [ [10, 25, 50, -1], ['10 rows', '25 rows', '50 rows', 'Show all'] ], buttons: [ 'pageLength', { extend: 'collection', text: 'Export', buttons: [ 'copy', 'excel', 'csv', 'pdf', 'print' ] }] });
ページが最初に起動したときにこれが正常に動作します。私はAjax.BeginFormを持っています。そこでは、データセットでデータテーブルを更新します。上記のコードでは、ボタンは消えますが、残りのデータテーブルプラグインは正常に動作します。
Ajaxコード:私はONSUCCESSメソッドで次のコードで戻ってデータグリッドで来て、ボタンを取得しようとし
@using (Ajax.BeginForm(Model.ReportName, "Report", new AjaxOptions {
:これは中に例外が発生
OnSuccess = "OnSuccess", UpdateTargetId = "resultsDiv", InsertionMode = InsertionMode.Replace, HttpMethod = "POST" }, new { @class = "form-horizontal" } )) { ... }
var table = $('#resultsTable').DataTable({ dom: 'Bfrtip', "initComplete": function (settings, json) { $('#resultsTable').DataTable().buttons().container().appendTo('#UserHead'); table.buttons().container().appendTo('#UserHead'); }, lengthMenu: [ [10, 25, 50, -1], ['10 rows', '25 rows', '50 rows', 'Show all'] ], buttons: ['pageLength', { extend: 'collection', text: 'Export', buttons: [ 'copy', 'excel', 'csv', 'pdf', 'print' ] }] });
INITCOMPLETE機能:JavaScriptのランタイムエラー:Savは:オブジェクトはプロパティまたはメソッド「ボタン」をサポートしていません
私はこの問題を解決するには、次のを試してみましたe最初のロードからのテーブル変数、およびDataTableへのOnSuccess呼び出しの前にdestroyを呼び出します。これは例外となります。
私の質問は、私はAjax呼び出し(秒)後に戻って表示するには、私の輸出ボタンを取得するために何をすべきでしょうか?