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