2

タイトルが言ったように、どうすればいいですか?、私は jiri によって作成されたこのボタンを使用しています:

SlickGrid プラグインを使用してすべての行に削除ボタンを作成するにはどうすればよいですか?

関数内に if(confirmation(msg)) を追加すると、変更のたびにテーブルをリフレッシュするため、メッセージALOTが繰り返されます。

さらに情報が必要かどうか尋ねてください。私はまだここでスタックオーバーフローに慣れていません:P (また、関数を「殺す」方法がある場合)

これがボタンです、私は(リンク)を使用しています。IDがすでに削除されているかどうかを確認するためにidBorradaを追加し、2回削除しようとしないでください。これも確認ですが、キャンセルをタッチするともう一度尋ねられます。

$('.del').live('click', function(){ var me = $(this), id = me.attr('id'); //assuming you have used a dataView to create your grid //also assuming that its variable name is called 'dataView' //use the following code to get the item to be deleted from it if(idBorrada != id && confirm("¿Seguro desea eleminarlo?")){ dataView.deleteItem(id); Wicket.Ajax.ajax({"u":"${url}","c":"${gridId}","ep":{'borrar':JSON.stringify(id, null, 2)}}); //This is possible because in the formatter we have assigned the row id itself as the button id; //now assuming your grid is called 'grid' //TODO grid.invalidate(); idBorrada= id; } else{ }; });

関数全体を再度呼び出します。文法が私の母国語ではないことをお詫びします

4

1 に答える 1

4

次の手順を実行します、

  1. 次のように、列オブジェクトの各行に削除リンクを追加します。
var columns = 
   { id: "Type", name: "Application Type", field: "ApplicationType", width: 100, cssClass: "cell-title", editor: Slick.Editors.Text, validator: requiredFieldValidator, sortable: true },
   { id: "delete", name: "Action", width: 40, cssClass: "cell-title", formatter: Slick.Formatters.Link }
];
  1. 次のように slick.formatters.js 内に Link Formatter を追加します。
"Formatters": {
   "PercentComplete": PercentCompleteFormatter,
   "YesNo": YesNoFormatter,
   "Link": LinkFormatter
}

function LinkFormatter(row, cell, value, columnDef, dataContext) {
   return "<a style='color:#4996D0; text-decoration:none;cursor:pointer' onclick='DeleteData(" + dataContext.Id + ", " + row + ")'>Delete</a>";
}
  1. 次の削除関数を JavaScript に追加します。
function DeleteData(id, rowId) {
   var result = confirm("Are you sure you want to permenantly delete this record!");
   if (result == true) {
       if (id) {
           $.ajax({
               type: "POST",
               url: "DeleteURL",
               data: { id: id },
               dataType: "text",
               success: function () {
               },
               error: function () {
               }
           });
       }
       dataView.deleteItem(id);
       dataView.refresh();}
}
于 2013-07-19T09:12:08.590 に答える