jquery プラグイン tablednd を使用しています
$(document).ready(function () {
$('#mygridview').tableDnD();
})
グリッドビューの行をドラッグ可能にします。行をドラッグしたら、asp.net で関数を呼び出して、行の位置を保存したいと考えています。しかし、行をクリックしたときにのみ反応する適切なイベントが gridview で見つかりません。
tableDnd には onDrop メソッドがあります。
$(document).ready(function () {
$('#mygridview').tableDnD({
onDrop: function(table, row) {
});
})
しかし、そこから asp.net メソッドを呼び出すにはどうすればよいでしょうか? ajaxの投稿についていくつか読んだことがありますが、それはわかりません。
また、使用についても読みましPageMethods
たが、関数は呼び出されませんでした。
問題は、データベース内のテーブルで更新を実行するものをどのように作成できるかということです。
更新しました:
IPostBackEventHandler メソッドを使用して解決しました。
IPostBackEventHandler を使用してユーザー コントロールとページの両方を拡張し、ユーザー コントロールとページの両方に public void RaisePostBackEvent(string eventArgument) 関数を追加する必要がありました。そして最後に:
onDrop: function (table, row) {
__doPostBack('<%= this.UniqueID %>', 'Select');
}
onDrop で問題が発生した場合の解決策は、次のように各行に ID を付与することです。
var i = 0;
$("#<%= gridviewID.ClientID %>").find('tr').each(function () {
$(this).attr('id', i++);
});
tablednd の開始より上。
ありがとう!