Как получить новый порядок строк GridView на стороне сервера при использовании перетаскивания? - PullRequest
1 голос
/ 11 октября 2011

В настоящее время я использую плагин перетаскивания таблиц (http://www.isocra.com/2008/02/table-drag-and-drop-jquery-plugin/) для достижения функциональности перетаскивания в моих строках GridView.

Возможно, мне придется обработать событие Drop и отправить новую строкудля сервера, но я не имею понятия о том, как это сделать.

Не берите в голову, что порядок строк представляет приоритет записей, отображаемых в GridView. Поэтому новый порядок строк будет сохранен вбаза данных после события Drop.

Это код jquery:

function load_lazyload() {
        $("#ContentPlaceHolder1_GridView").tableDnD({
            onDragClass: "GbiHighlight",
            onDrop: function (table, row) {
                var rows = table.tBodies[0].rows;
                var debugStr = "Row dropped was " + row.id + ". New order: ";
                for (var i = 0; i < rows.length; i++) {
                    debugStr += rows[i].id + " ";
                }
                $("#debugArea").html(debugStr);
            },
            onDragStart: function (table, row) {
                $("#debugArea").html("Started dragging row " + row.id);
            }
        });
}

Я был бы очень признателен, если бы кто-нибудь помог мне найти решение для этого требования.

Ответы [ 2 ]

0 голосов
/ 12 октября 2011

Следующий пост подробно объяснит ответ на вопрос:

http://aspdotnet -example.blogspot.com / 2011/10 / GridView-перезаказ-рядный перетащить и drop.html

Надеюсь, это поможет!

0 голосов
/ 11 октября 2011

onDrop событие, вы можете сделать вызов ajax и отправить debugStr на сервер, чтобы обновить новый порядок строк.что-то вроде

$("#ContentPlaceHolder1_GridView").tableDnD({
  onDrop: function(table, row) {
    var rows = table.tBodies[0].rows,
        newOrder = '';
    for (var i = 0; i < rows.length; i++) {
         newOrder += rows[i].id + " ";
    }

    $.ajax({
      url: 'server_method',
      data: {
        newOrder: newOrder
      }
    });
  }
});

При необходимости вы можете добавить обработчики успеха и ошибок в вызов ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...