【问题标题】:in slickgrid how I can delete a row from a javascript function在 slickgrid 中,我如何从 javascript 函数中删除一行
【发布时间】:2011-03-19 05:14:01
【问题描述】:

如何从按钮的 javascript 函数中删除一行 例如

【问题讨论】:

    标签: row slickgrid


    【解决方案1】:

    如果您使用的是 DataView,请使用以下内容:

    DataView.deleteItem(RowID);//RowID is the actual ID of the row and not the row number
    Grid.invalidate();
    Grid.render();
    

    如果您只知道行号,则可以使用以下方法获取 theRowID:

    var item = DataView.getItem(RowNum);//RowNum is the number of the row
    var RowID = item.id
    

    【讨论】:

      【解决方案2】:

      假设你正在使用 jQuery

      var grid;
      $(function () {
         // init options, load data  
         ...
      
         var columns = [];
         columns[0] = { 
           id: 'id',
           name: '#', 
           field: 'id', // suppose you have an id column in your data model
           formatter: function (r, c, id, def, datactx) { 
              return '<a href="#" onclick="RemoveClick(' + id + ',' + r + ')">X</a>'; }
         }
         // init other columns
         ...
      
         grid = new Slick.Grid($('#gridDiv'), data, columns, options);
      }
      function RemoveClick(databaseId, gridRow) {
         // remove from serverside using databaseId
         ...
         // if removed from serverside, remove from grid using
         grid.removeRow(gridRow);
      }
      

      【讨论】:

        【解决方案3】:

        我就是这样做的(虽然不使用任何数据提供者):

        //assume that "grid" is your SlickGrid object and "row" is the row to be removed
        var data = grid.getData(); 
        data.splice(row, 1);
        grid.setData(data);
        grid.render();
        

        我在一个实时项目中使用它,它运行良好。当然,如果您想删除多行,则应该进行一些调整,或者如果您使用数据提供程序,那么您可能只想从数据提供程序中删除该行,然后让 SlickGrid 刷新这些行。

        希望对你有帮助:)

        【讨论】:

          【解决方案4】:
          function deleteRows() {
              var selectedIndexes = grid.getSelectedRows().sort().reverse();
              var result = confirm("Are you sure you want to delete " + grid.getSelectedRows().length + " row(s)?");
              if (result) {
          
                $.each(selectedIndexes, function (index, value) {
                  var item = dataView.getItem(value); //RowNum is the number of the row
                  if (item)
                    dataView.deleteItem(item.id); //RowID is the actual ID of the row and not the row number
                });
          
                grid.invalidate();
                grid.render();
              }
            }
          

          【讨论】:

            【解决方案5】:
            var rowsToDelete = grid.getSelectedRows().sort().reverse();
            for (var i = 0; i < rowsToDelete.length; i++) {
                data.splice(rowsToDelete[i], 1);
            }
            grid.invalidate();
            grid.setSelectedRows([]);
            

            【讨论】:

              【解决方案6】:

              当然,我就是这样用的

              var selrow = grid.getSelectedRows (); 
              data.splice(selrow, 1); 
              grid.invalidateAllRows();
              grid.render ();
              

              问候

              【讨论】:

              • "Uncaught TypeError: Object # has no method 'removeAllRows'"
              【解决方案7】:

              嗨 我用这个脚本来删除 SlickGrid 行

              函数 deletefila(numrow) {

                alert("delete row"+numrow);
              
                data.splice(numrow,1); 
              
                  grid.removeAllRows(); 
              
                  grid.render(); 
              
                      //grid.removeRow(5);
              
                      //grid.updateRowCount();
              
                      //and then invalidate and re-render the grid by calling grid.removeAllRows() followed by grid.render(). 
              

              }

              【讨论】:

              • Uncaught TypeError: Object # has no method 'removeAllRows'
              猜你喜欢
              • 2016-08-12
              • 1970-01-01
              • 1970-01-01
              • 2012-03-03
              • 1970-01-01
              • 2011-02-13
              • 1970-01-01
              • 1970-01-01
              • 2012-10-05
              相关资源
              最近更新 更多