Giter Club home page Giter Club logo

Comments (6)

genachka avatar genachka commented on May 20, 2024

To clarify, i'm not looking for recursive functionality here, though I would expect that a select all (the checkbox on the header of the TreeList as well as of course the API for it) would take every level of children in to account otherwise it's not a select all.

Since I saw you don't support recursive by selecting a parent node (not sure why you don't support this already?) I did implement my own on the onSelectionChanged event. And even though I'm not using e.component.getVisibleRows() but rather e.component.getNodeByKey(key) if the parent is collapsed, it doesn't select the children. Meaning, when I expand the parent in the TreeList, the children are shown as unchecked. If the parent is expanded and I do the recursive selection it works.

from devextreme.

genachka avatar genachka commented on May 20, 2024

Any news here on this issue?
I've had make a hack to prevent collapsing and to force an expand of all, hide the collapse via CSS and trap clicking on collapse. Of course I would like to be able to allow the user to decide whether to expand collapse rows but because of this bug it's unreliable to select all when collapsed.

from devextreme.

NikitaKunashov avatar NikitaKunashov commented on May 20, 2024

Hello,
Currently, our TreeList selectAll method selects only visible nodes. We considered possible ways to implement this feature and decided that this approach is most appropriate since it makes the behavior consistent in the cases when a remote and a local data source are used. Selecting invisible nodes requires loading the whole data source, which can be large, so it can affect the performance.
So, the only reliable way to select all nodes without the necessity to load all data locally is using the recursive selection that is implemented in the upcoming 17.2 release. You can currently check this functionality in our preview build.
Let us know if you need any assistance in finding a reliable workaround for the current version.

from devextreme.

genachka avatar genachka commented on May 20, 2024

@NikitaKunashov I understand what your saying but that's misleading to an end user. Other tree / treegrid controls I've worked with even with remote data, they select all the retrieved items in case where remote data is used. Imagine a user is trying to export data and finds that they Select All only took a small % of the items.

But what's worse is that as a developer, I've not been able to reliably do a recursive Select All which sounds like it's been resolved in 17.2 in which case that may solve my brute force approach but I still think there should be a native option to support that expected behavior.

from devextreme.

GoshaFighten avatar GoshaFighten commented on May 20, 2024

@genachka I understand you and the required functionality will be available in version 17.2. For version 17.1, use the approach illustrated in the dxTreeList - How to implement recursive selection example to achieve this.

from devextreme.

genachka avatar genachka commented on May 20, 2024

@GoshaFighten Thanks for the added functionality in 17.2. Now using it and it's working great!!

from devextreme.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.