Добрый день, работаю с моделью , наследованной от QAbstractItemModel. В одной из функций при одном условии удаляю и заполняю таблицу новым количеством строк, при переключении делаю такой же механизм:
if (_modeRow == 0)
{
if (rowCount() < m_TradeItems.size())
{
beginResetModel();
beginRemoveRows(QModelIndex(), 0, _rowCount-1);
endRemoveRows();
beginInsertRows(QModelIndex(), 0, m_TradeItems.size());
endInsertRows();
_rowCount = m_TradeItems.size() + 1;
endResetModel();
emit signalSetSpanRow(_rowCount);
}
}
if (_modeRow == 1)
{
if (_rowCount > _nettoTrades.size() + 1 || _rowCount == -1)
{
_rowCount = m_TradeItems.size() + 1;
beginResetModel();
beginRemoveRows(QModelIndex(), 0, m_TradeItems.size());
endRemoveRows();
beginInsertRows(QModelIndex(), 0, _nettoTrades.size());
endInsertRows();
_rowCount = _nettoTrades.size() + 1;
endResetModel();
emit signalSetSpanRow(_rowCount);
}
}
lt = index(0, 0);
rb = index(_rowCount-1, columnCount() - 1);
emit dataChanged(lt, rb);
отрисовка происходит с правильным количеством строк, но в date, к примеру в одном из случаев не падает в точку останова, когда index.column>3 и выводит все неправильно-это при _modeRow = 1, при возврате к первоначальному отображению(_modeRow = 0) все отображается корректно, в date падает во все column > 3 и так далее. Что делаю не так при обновлении таблицы?