Как вы обрабатываете события onclick строки, используя Flexigrid? - PullRequest
9 голосов
/ 08 июня 2011

Моя flexigrid настроена.Все, что мне нужно, - это событие, которое вызывается, когда пользователь нажимает на строку.Оттуда я отправлю пользователя на другую страницу на основе данных, содержащихся в этой строке.Но я не могу найти примеры того, как это сделать.

Я ищу наглядный пример того, как обрабатывать события щелчка строк с помощью flexigrid.

Меня также интересуют любые другие каркасы таблиц javascript, которые можно использовать в этой ситуации.Я взглянул на DataTables , и похоже, что это может быть лучшей альтернативой (и проект выглядит более активным)

Ответы [ 5 ]

9 голосов
/ 14 июня 2011

В начальной настройке для flexigrid добавьте атрибут process: procMe в модель столбца. Пример:

colModel : [
    { display: 'Request', name : 'id', process: procMe }
]

и затем создайте обратный вызов:

function procMe( celDiv, id ) {
    $( celDiv ).click( function() {
        alert( id );
    });
}
2 голосов
/ 01 ноября 2012

Лучшее решение

Добавление процесса в colModel у меня не сработало.

colModel : [
{ display: 'Request', name : 'id', process: procMe }
]

Я использую это решение ниже:

var gridRows = $("#data-grid tbody tr");

gridRows.click(function (event) {
  displaySelectedItem($(this).attr('id').substr(3));
  return false; //exit
});
1 голос
/ 06 апреля 2013

Столбец Flexigrid в виде ссылки

colModel: [
        {
            display: 'DomainName', name: 'DomainName', width: 180, 
            sortable: true, align: 'left', 
            process: function (col, id) 
                     {
                       col.innerHTML = "<a href='javascript:domainEdit(" + id + ");' 
                                   id='flex_col" + id + "'>" + col.innerHTML + "</a>";
                     }
        }]

Функция связи

function domainEdit(domainID) {
    alert('domainID' + domainID);
}
0 голосов
/ 07 мая 2015

Мне кажется, этот вариант немного лучше, чем whoabackoff

$('.TableName').click(function(event){
        $('.res').html('dbl');
        alert('dbl');
});
0 голосов
/ 08 июня 2011

это помогает? http://www.flexigrid -asp.net / демо / updatepanel.aspx Вы можете взглянуть на него с помощью firebug, чтобы увидеть, где перехватывается событие. имейте в виду, что файл flexigrid.js немного отличается от файла официального проекта.

...