首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >igGrid:如何删除带有javascript的行

igGrid:如何删除带有javascript的行
EN

Stack Overflow用户
提问于 2016-04-08 13:02:20
回答 3查看 2.6K关注 0票数 3

我认为我的问题很简单,但我仍然没有找到适合我的答案,无论是在这里还是在外面。所以如果有人能帮我,我会很高兴的,不管是通过提供有用的链接还是什么.

我想要实现的是:我有一个igGrid (igGrid),在这里我想使用javascript删除一行。哪一个都不重要。很简单对吧?

到目前为止我尝试过的是:

  • 在本例中,每一行都要删除$(row).remove(); ->。
  • $(row).remove(1); -> JavaScript运行时错误:对象不支持属性或方法“替换”
  • get_rows():不受javascript支持的,它将在c#中工作。
  • removeat-method:不受javascript的支持,但是它在c#中可以工作。
  • 我想保留的igGridSelection:选择的东西也将被移除

现在是代码片段:

代码语言:javascript
复制
    $sender = $(this).attr('id');
    $varTablName = gridMap.getVarTable($sender);
    var rowCount = $("#" + $varTablName).igGrid("widget").igGrid('rows').length;

    $("#" + $varTablName).igGrid("widget").igGrid('rows').each(function (index) {
        var row = $("#" + $varTablName).igGrid("widget").igGrid("rowAt", index);
        if (rowCount > 1) {
            $(row).remove(); //the not quite working part
        }

这是可行的,对吧?没有必要一路用c#写它,然后用js调用它,对吗?对吧?^^

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-08 13:17:35

以编程方式删除行的不片断化指南

代码语言:javascript
复制
$('#grid').igGridUpdating('deleteRow', "AFG");  
$('#grid').igGridUpdating('deleteRow', 1, $('#grid').igGrid("rowAt", 0));

下面是api文档 -- thnx @KonstantinDinev --上面的代码将从网格中删除一行,创建一个事务并更新UI。此功能依赖于autoCommit选项igGrid

API应该总是第一个选项^^

我们也可以针对dom元素并自己删除或隐藏它。删除后,显示的行数将发生更改,但数据源将需要更新。

http://jsfiddle.net/gtw916um/6/

代码语言:javascript
复制
$(function() {
  $("#grid").igGrid({});

  //hides 2nd row (index starts at 0)
  $("#grid").igGrid("allRows").each(function(index) {
    if (index == 1) {
      $(this).css("display", 'none');
    }
  });

  //deletes 4th row (index starts at 0)
  var row = $("#grid").igGrid("widget").igGrid("rowAt", 3);
  $(row).remove();

  //un-hiding 2nd row (index starts at 0)
  row = $("#grid").igGrid("widget").igGrid("rowAt", 1);
  $(row).css("display", 'table-row');

});

未经测试的更新数据方法

代码语言:javascript
复制
$("#grid").data("igGrid").dataSource.deleteRow(3, true);
$("#grid").data("igGrid").commit();
票数 2
EN

Stack Overflow用户

发布于 2016-04-14 09:03:19

deleteRow是您正在寻找的作为其他答案表明的方法。对于此方法,可以提供行元素作为参数,也可以提供行ID. 这是API文档

下面是代码:

代码语言:javascript
复制
var row = $("#" + $varTablName).igGrid("rowAt", index);
$("#" + $varTablName).igGridUpdating("deleteRow", row);
票数 1
EN

Stack Overflow用户

发布于 2016-04-08 13:05:54

您可以尝试这个或一些类似的jquery。我不知道它会如何影响超网格,所以如果你保留所有其他功能的话,那就去检查一下。

代码语言:javascript
复制
var row = document.querySelector('myRowReference');
row.parentNode.removeChild(row);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36500281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档