lxtxqr 发表于 2019-3-8 15:25:35

WjTreeView checkbox如何设置初始值

本帖最后由 lxtxqr 于 2019-3-8 16:17 编辑

WjTreeView checkbox如何设置初始值
checkeditems 设置后没有反应 初始选择某一个checkbox 如何做到
求助

lxtxqr 发表于 2019-3-9 22:28:38

有人用过么?求解答。难道这个控件的check不能有初始值么?接口没留么

lxtxqr 发表于 2019-3-9 23:39:28

没有技术人员给解决这个问题么,TreeView控件提供了Checkbox,但是没有办法在初期的时候默认选中,你们提供这个控件是做什么用?太坑了。

KevinChen 发表于 2019-3-11 18:26:09

您好,请参考Wijmo TreeView的API,selectedItem:

https://demos.wijmo.com/5/Angular/WijmoHelp/WijmoHelp/topic/wijmo.nav.TreeView.Class.html#selectedItem

lxtxqr 发表于 2019-3-12 23:19:02

KevinChen 发表于 2019-3-11 18:26
您好,请参考Wijmo TreeView的API,selectedItem:

https://demos.wijmo.com/5/Angular/WijmoHelp/Wijmo ...

多谢回答,提供的网站打开是空白的
selecteditem是可以自定义赋值的么?大概是什么格式
我使用的是
this.items = [{header:Electronics}];
this.tvTreeView.selectedItem = this.items;
Treeview控件绑定的数据源就是官网例子。
但是checkbox无法绑定

JeffryLI 发表于 2019-3-13 09:49:27

请参照
   ///////////////////////////////////////////////////////////////////////
    // Checkboxes
    var tvChk = new wijmo.nav.TreeView('#tvChk', {
      displayMemberPath: 'header',
      childItemsPath: 'items',
      showCheckboxes: true,
      itemsSource: items,
      checkedItemsChanged: function (s, e) {
            var items = s.checkedItems,
                msg = '';
            if (items.length) {
                msg = '<p><b>Checked Items:</b></p><ol>\r\n';
                for (var i = 0; i < items.length; i++) {
                  msg += '<li>' + items.header + '</li>\r\n';
                }
                msg += '</ol>';
            }
            document.getElementById('tvChkStatus').innerHTML = msg;
      }
    });

    // check/uncheck all nodes
    document.getElementById('btnCheckAll').addEventListener('click', function () {
      tvChk.checkAllItems(true);
    });
    document.getElementById('btnUncheckAll').addEventListener('click', function () {
      tvChk.checkAllItems(false);
    });

    // save/restore checked state
    var saveCheckedItems = null;
    document.getElementById('btnSaveState').addEventListener('click', function () {
      saveCheckedItems = tvChk.checkedItems;
    });
    document.getElementById('btnRestoreState').addEventListener('click', function () {
      tvChk.checkedItems = saveCheckedItems || [];
    });

lxtxqr 发表于 2019-3-14 16:47:43

本帖最后由 lxtxqr 于 2019-3-14 17:04 编辑

JeffryLI 发表于 2019-3-13 09:49
请参照
多谢回复 这个例子之前在你们网站看到了。但是无法解决我的问题。
例子中,只是把SelectedItem对象保存后,恢复按钮按下再传递给 TreeView的SelectedItem对象。

如果我想在初期选中某一个CheckBox,需要传递一个什么结构的对象给 SelectedItem才能好用?
我想自定义SelectedItem?请问结构大概什么样?请指教

JeffryLI 发表于 2019-3-15 09:08:44

您好,这个selectedItem也是node的类型,您的这个问题我先尝试写一个demo 看是否能能做到您说的这个需求,有消息回复您

JeffryLI 发表于 2019-3-18 09:35:51

您好,请参考 如下代码
// create the tree
var tree = new wijmo.nav.TreeView('#theTree', {
    itemsSource: getData(),
    displayMemberPath: 'header',
    childItemsPath: 'items',
    showCheckboxes: true
});

// initialize the checked items
tree.checkedItems = [
    findItem(tree, 'Apple'),
    findItem(tree, 'Motorola'),
    findItem(tree, 'Samsung'),
    findItem(tree, 'Shopkins'),
    findItem(tree, 'Crayola')
]

// find a data item in the tree based on the displayMemberPath value
function findItem(tree, value, items) {
    if (!items) {
      items = tree.itemsSource;
    }
    for (var i = 0; i < items.length; i++) {
      var item = items;
      if (item == value) {
      return item;
      }
      var childItems = item;
      if (childItems) {
      var child = findItem(tree, value, childItems);
      if (child) {
          return child;
      }
      }
    }
    return null;
}

// get the tree data
function getData() {
    return [{
      header: 'Electronics',
      img: 'resources/electronics.png',
      items: [{
            header: 'Trimmers/Shavers'
          },
          {
            header: 'Tablets'
          },
          {
            header: 'Phones',
            img: 'resources/phones.png',
            items: [{
                header: 'Apple'
            },
            {
                header: 'Motorola',
                newItem: true
            },
            {
                header: 'Nokia'
            },
            {
                header: 'Samsung'
            }
            ]
          },
          {
            header: 'Speakers',
            newItem: true
          },
          {
            header: 'Monitors'
          }
      ]
      },
      {
      header: 'Toys',
      img: 'resources/toys.png',
      items: [{
            header: 'Shopkins'
          },
          {
            header: 'Train Sets'
          },
          {
            header: 'Science Kit',
            newItem: true
          },
          {
            header: 'Play-Doh'
          },
          {
            header: 'Crayola'
          }
      ]
      },
      {
      header: 'Home',
      img: 'resources/home.png',
      items: [{
            header: 'Coffee Maker'
          },
          {
            header: 'Breadmaker',
            newItem: true
          },
          {
            header: 'Solar Panel',
            newItem: true
          },
          {
            header: 'Work Table'
          },
          {
            header: 'Propane Grill'
          }
      ]
      }
    ];

lxtxqr 发表于 2019-3-20 12:53:56

JeffryLI 发表于 2019-3-18 09:35
您好,请参考 如下代码

感谢~ 我一会试试。
页: [1] 2
查看完整版本: WjTreeView checkbox如何设置初始值