Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
infragistics igGrid:如何使用javascript删除行_Javascript_Infragistics_Ignite Ui_Iggrid - Fatal编程技术网

infragistics igGrid:如何使用javascript删除行

infragistics igGrid:如何使用javascript删除行,javascript,infragistics,ignite-ui,iggrid,Javascript,Infragistics,Ignite Ui,Iggrid,我认为我的问题很简单,但无论是在这里还是在那里,我仍然没有找到任何适合我的答案。。 所以如果有人能帮助我,我会非常高兴,不管是提供有用的链接还是其他什么 我正在努力实现的目标: 我有一个IgniteUIGrid(igGrid),我想在其中使用javascript删除一行。哪一个都不重要。很简单,对吧 到目前为止,我所尝试的: $(行)。删除()->在这种情况下,将删除每一行 $(行)。删除(1)->JavaScript运行时错误:对象不支持属性或方法“replace” get_rows():不

我认为我的问题很简单,但无论是在这里还是在那里,我仍然没有找到任何适合我的答案。。 所以如果有人能帮助我,我会非常高兴,不管是提供有用的链接还是其他什么

我正在努力实现的目标: 我有一个IgniteUIGrid(igGrid),我想在其中使用javascript删除一行。哪一个都不重要。很简单,对吧

到目前为止,我所尝试的:

  • $(行)。删除()->在这种情况下,将删除每一行
  • $(行)。删除(1)->JavaScript运行时错误:对象不支持属性或方法“replace”
  • get_rows():不受javascript支持,但它可以在c中工作
  • removeat方法:不受javascript支持,但可以在c#中使用
  • igGridSelection:我要保留的选定内容也将被删除
现在是代码片段:

    $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调用它,对吗。。?好的???^^

您可以试试这个或一些jquery等价物。我不知道它会如何影响ultragrid,所以请仔细检查是否保留了所有其他功能

var row = document.querySelector('myRowReference');
row.parentNode.removeChild(row);

在--thnx@KonstantinDinev之后,上面的代码将从网格中删除一行,创建一个事务并更新UI。此功能取决于igGrid的选项

API应始终是第一选项^^

我们还可以将dom元素作为目标,自己删除或隐藏它。删除后,显示的行数将发生更改,但需要更新数据源

未测试的更新数据方法


deleteRow
是您正在寻找的方法。对于此方法,您可以提供row元素作为参数,或row ID

代码如下:

var row = $("#" + $varTablName).igGrid("rowAt", index);
$("#" + $varTablName).igGridUpdating("deleteRow", row);

非常感谢,但不幸的是,这不适用于删除行。(deleteRow只是删除行中的数据,但行本身仍然保留在那里…)您可以获取行id吗?var id=row.attr(“数据id”)$(id).删除();不,不是您描述的方式(对象不支持属性或方法“attr”)。但我尝试了var removowid=$($(“#“+$sender).igGrid(“widget”).igGrid(“rowAt”,args.row.index)).attr(“数据id”);这不会抛出任何异常,但也不会删除任何内容。。。我开始觉得我遇到的问题叫我…^^ jsfiddle.net/gtw916um/6谢谢!现在可以了,但我不得不放弃移除。因此,您的第一个解决方案几乎可以完美地工作(刚刚更改为(index>=1)),很抱歉上周五这么固执^^hm。。这对我来说很好,但我做不到。。我只是想确定我对你的理解是否正确。。这就是我尝试的:var tmpRow=document.querySelector('id',1);row.parentNode.removeChild(row);编辑:嗯,从某种意义上说,这是有效的。。它没有抛出任何异常,但最终还是删除了所有内容…感谢所有人。。!我还没有解决办法,我想我今天也找不到。但我会在周一重新开始,带着新鲜的精神和今天不在办公室的同事们。。所以,一旦我知道更多,我会告诉你,以便有一天它可以帮助其他人。。。干杯多亏了bfmags,我想出了这个解决方案:$(“#”+$varTablName).igGrid(“widget”).igGrid('rows').each(函数(索引){if(索引>=1){$(this.css(“display”,'none');});
$(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');

});
$("#grid").data("igGrid").dataSource.deleteRow(3, true);
$("#grid").data("igGrid").commit();
var row = $("#" + $varTablName).igGrid("rowAt", index);
$("#" + $varTablName).igGridUpdating("deleteRow", row);