2015-04-22 40 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

酷,你得到了什麼到目前爲止所選行的另一個highlightcolor(更像是黃的粉紅色)?顯示一些代碼 – 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給出比onSelectedRowsChanged(在我的應用程序藍色)

+1

向它添加一些更多的細節。 – Billa