2015-04-22 6 views
0

У меня есть следующие проблемы с slickgrid:SlickGrid onSelectedRowsChanged не стреляя

  1. левой кнопкой мыши строки 1 (onSelectedRowsChanged пожары, как и ожидалось)
  2. Удерживайте нажатой кнопку управления
  3. левой кнопкой мыши в строке 2 (onSelectedRowsChanged пожары, как ожидаемый)
  4. левой кнопкой мыши строка 1 (onSelectedRowsChanged пожары, как и ожидалось)
  5. Отпусти кнопки управления
  6. Нажмите строку 1(onSelectedRowsChanged не срабатывает! Если вы щелкнете по той же ячейке 1-й строки, как раньше)

Проблемы, описанные в шаге 6 выше. Вот ссылка на jsfiddler показаны вопросы: http://jsfiddle.net/fortesl/oLj8otsj/1/

Кодекс также прилагается:

  var grid; 
    var data = []; 
    var columns = [{ 
     id: "title", 
     name: "Title", 
     field: "title", 
     width: 300, 
     selectable: false, 
     resizable: false 
    }, { 
     id: "priority", 
     name: "Priority", 
     field: "priority", 
     width: 200, 
     selectable: false, 
     resizable: false 
    }]; 

    var options = { 
     editable: true, 
     enableAddRow: true, 
     enableCellNavigation: true, 
     forceFitColumns: true, 
     autoEdit: false 
    }; 

    for (var i = 0; i < 100; i++) { 
     var d = (data[i] = {}); 
     d["title"] = "Task " + (i + 1); 
     d["priority"] = "Medium"; 
    } 

    grid = new Slick.Grid("#myGrid", data, columns, options); 

    grid.setSelectionModel(new Slick.RowSelectionModel()); 

    grid.onSelectedRowsChanged.subscribe(function() { 
     var selectedRows = grid.getSelectedRows(); 
     for (var i = 0; i < selectedRows.length; i++) { 
      selectedRows[i] = selectedRows[i] + 1; 
     } 
     $('.selected-rows')[0].innerHTML = selectedRows; 
    }); 
    grid.onClick.subscribe(function() { 
     $('.selected-rows')[0].innerHTML = ''; 
    }); 

Пожалуйста, помогите

+0

Прохладный, что вы получили до сих пор? Показать код – felipekm

+0

пример? Используйте JSFIDDLE, если вы хотите, чтобы мы отлаживали ваш код. – Fallenreaper

+0

http://casivaagustin.com.ar/wp-content/uploads/2015/04/show-me-the-source-yoda.jpg – Fallenreaper

ответ

0

я решить мою проблему путем обработки события OnClick и вызов setSelectedRows от обработчика. Показанные ниже:

   grid.onClick.subscribe(function(e) { 
       var cell = $scope.grid.getCellFromEvent(e); 
       var row = (cell) ? cell.row : 0; 
       var rows = [row]; 
       grid.setSelectedRows(rows); 
      }); 
0

Это происходит потому, что клетка (не строка) активна и в slick.grid.js есть проверка убедившись, что триггер не активируется, если нажав на ячейке уже активной.

Посмотрите на

function handleClick(e)... 

внутри файла исходного кода, и вы увидите чек на вопрос.

0

OnClick событие и вызов setSelectedRows дают другой highlightcolor (больше как желто-розовой) выбранной строке, чем onSelectedRowsChanged (синий цвет в моем приложении)

+1

Добавьте еще несколько подробностей. – Billa

 Смежные вопросы

  • Нет связанных вопросов^_^