QtitanDataGridModel-view DataGrid component with rich functionality for Qt.C++ and PySideQtitanRibbonReplicates Microsoft RibbonUI interface for Qt.C++ and PySideQtitanNavigationDesignUIReplicates Microsoft Navigation Design interface for Qt.C++ and PySideQtitanChartCharts and Diagrams component for Qt.C++ and PySideQtitanDockingDockable Panels and Tool Bars for Qt.C++ and PySideQtitanFastInfosetXML Compressed format FastInfoset implementation for Qt.C++ and PySideRoadmap Development 2023
FireDataGridPowerful, modern, fast, DB-Aware Grid for Delphi-FiremonkeyFireDockingDelphi IDE/Visual Studio implementation of dock panels for Delphi-Firemonkey
I set "view->options()->setFocusFollowMouse(true)"
and set filter on some column with empty "Find what".
And when I follow mouse over the grid - application crashes.
I have a similar problem, but maybe the bug should related to the datamodel.
please try this:
disable the FocusFollowMouse
open the grid, right mouse click and set up a filter, the click ok: it raises an assertion in qvector?
If yes, I have your same problem and it is probably a grid bug
If not, probably I have a problem of my datamodel.
to verify, I tried to apply a filter created on the fly with three different model of my application, and seems that one of my model causes the assertion..
Last edit: 10 years 1 month ago by corrado valeri.
Yes, they works.
The model that doesn't work is specific for banded grid dataset.. but seems that the implementation lacks of any methods needed to work perfectly.
That model has two side effects: one, clicking on clomun header for apply the sort built-in function, it acts on the dataset like a filter. Only one row, the first, is shown.
Second, if apply any filter, it raise a QVector assection..
Any idea to implements a correct Model? I already look into the demos srcs of titangrid.
Last edit: 10 years 1 month ago by corrado valeri. Reason: fix
The bug was an inconsinstency of internal dataset contained in the derived datamodel.
When you make a filter by the titangrid, it call rowcount method of the datamodel: in my case, it returns the size of internal dataset, a std::map.
Because the map was passed by reference in the constructor of the window, after a while the map was released by its parent, external to the scope.
In conclusion: when the filtering called rowcount, the internal std::map reference was yet deallocated and it raises the assertion..
I created a local, private copy of the std::map passed by reference, and all run correctly, filtering too.
Maybe this post can help you to check for the life scope of your dataset or datamodel.