2012-09-11 53 views
2

我試圖通過val和文本設置jQuery通過光滑網格中的值例如.find( 'div.slick-cell.l2.r2')。文本( 'XYZ')。有問題的單元格上有一個jquery自動完成功能,但它只在點擊時激活。所以,當我點擊該小區在編輯器中被覆蓋由初始默認值:自動完成單元格上的光滑網格設置值

function ComboBoxEditor(args) { 
    ... 
    this.loadValue = function (item) { 
     defaultValue = item[args.column.field] || ""; 
     $input.val(defaultValue); 
     $input[0].defaultValue = defaultValue; 
     $input.select(); 
    }; 
    ... 

我可以從光滑網格的世界中得到了jQuery文本值。

回答

0

將slickgrid想像爲一個渲染引擎,並將dataView作爲數據接口(您正在使用dataView的權利?)dom元素的jquery或javascript編輯沒有貢獻,所以想想jQuery/javascript如何使用dataView方法做更新。 我加入drag and drop of filesSlickGrid

我遇到了同樣的問題我檢測到drop的elementID並將其映射回dataView的行和列。

這裏是我用來進行文本的粘貼功能:

function insertText(textString, location) { 
      grid.resetActiveCell(); 
      $(location).click(); 
      var startCell = grid.getActiveCell(); 
      if (startCell) { 
// only paste text into active cells for now 
        var columnDef =  grid.getColumns(); 
        var colField = columnDef[startCell.cell].field; 
        if (!dataView.getItem(startCell.row)) { 
// new row 
          var tobj = {'id': "new_" + (Math.random() + 1).toString(36).substring(7)}; 
          tobj[colField] = textString; 
          dataView.addItem(tobj); 
        } else { 
// modify existing cell 
          var item = dataView.getItem(startCell.row); 
          item[colField] = textString; 
          dataView.updateItem(item.id, item); 

        } 
        grid.resetActiveCell(); 
        grid.render(); 
        dataView.refresh(); 
    } 
} 
相關問題