javascript - 如何使用 JavaScript 从 Windows 8 应用程序中的组 listView 中删除元素

标签 javascript listview windows-8 winjs

我希望用户从 ListView 中选择一个项目,然后从应用程序栏中单击删除按钮来删除所选项目....
我之前已经做过很多次这种事情,但是是在一个简单的 ListView 上也就是说,它没有任何组,但是从 listView 中删除项目的方法在这里不适用,因为它是一个组 ListView ,因为它按某种顺序对对象进行排序,从而混合所有索引 (index)。

这是我用来从简单(未分组) ListView 中删除元素的方法:

var deleteIndex=0;
var listView=document.getElementById('listview').winControl;
listView.addEventListener('selectionchanged', function () {
          deleteIndex=listView.selection.getIndices();
        });

  function deleteButtonOnClick(){
         data.splice(deleteIndex,1);
     }

这不适用于组 ListView ,它会删除 ListView 中的其他一些项目...我真的陷入了这一点,我必须在明天之前完成我的应用程序。

最佳答案

我无法为您提供代码示例,因为我缺少您的数据模型,但一般概念是

  1. 数组中的每个对象都有一些可识别的数据。如果它是 来自数据库,您可能有一个 ID 字段。
  2. 在选择更改时获取所选项目的 ID
  3. 在deleteButtonOnClick函数中,首先循环遍历数据数组,检查id是否与所选项目的id匹配,如果匹配,则您拥有对象的索引
  4. 现在使用该索引,将其从数组中拼接出来

关于javascript - 如何使用 JavaScript 从 Windows 8 应用程序中的组 listView 中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16363471/

相关文章:

c++ - 如何将水印或 png 或位图添加到 CTreeCtrl 的背景中?

c# - UDP 广播不能在 Windows 8 中的同一台机器上工作

c# - 执行相机预览镜像模式的正确方法

javascript - "core-header-panel"Polymer 元素不显示内容 Div 中的文本

javascript - SigmaJS 将图导出为 GEXF

javascript - 准备使网站与 Internet Explorer 8 兼容

javascript - 获取跨度中文本的宽度,文本溢出: ellipsis; at IE11

android - 为什么我的 ListView 不显示我的项目?

c# - 如何加快向 ListView 添加项目的速度?

c++ - Windows 8 的驱动程序签名要求有何变化?