在wxDataViewCtrl中执行重新排序列后插入/删除wxDataViewColumn

时间:2016-01-17 05:59:30

标签: c++ wxwidgets

我在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也是如此,重新排序列后无效。

这是什么逻辑错误,最重要的是我的所有重新排序都会更改回原始列订单。 我想允许用户执行重新排序/添加/删除列,但重新排序后添加/删除根本不起作用。

0 个答案:

没有答案