我在wxDataViewCtrl
中进行了列重新排序。我使用InsertColumn()
API插入了一个新列。
我得到以下断言失败:
---------------------------
wxWidgets Debug Alert
---------------------------
..\..\src\msw\headerctrl.cpp(442): assert "order >= 0 && order <= GetShownColumnsCount()" failed in wxHeaderCtrl::MSWToNativeOrder(): logic error
Call stack:
[00] wxHeaderCtrl::DoInsertItem f:\cwscode\tools\source\wxwidgets-3.0\src\msw\headerctrl.cpp:347
[01] wxHeaderCtrl::DoSetCount f:\cwscode\tools\source\wxwidgets-3.0\src\msw\headerctrl.cpp:218
[02] wxHeaderCtrlBase::SetColumnCount f:\cwscode\tools\source\wxwidgets-3.0\src\common\headerctrlcmn.cpp:108
[03] wxDataViewCtrl::OnColumnsCountChanged f:\cwscode\tools\source\wxwidgets-3.0\src\generic\datavgen.cpp:4766
[04] wxDataViewCtrl::InsertColumn f:\cwscode\tools\source\wxwidgets-3.0\src\generic\datavgen.cpp:4750
Do you want to stop the program?
You can also choose [Cancel] to suppress further warnings.
---------------------------
Yes No Cancel
---------------------------
DeleteColumn()
API也是如此,重新排序列后无效。
这是什么逻辑错误,最重要的是我的所有重新排序都会更改回原始列订单。 我想允许用户执行重新排序/添加/删除列,但重新排序后添加/删除根本不起作用。