2012-09-11 51 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(); 
    } 
} 
相关问题