2

基本的に、モデル内のすべての行を削除したいと考えています。ヘッダーを保持したいので、removeRows(..)代わりにを使用したいと思います。clear()

私は何かを見逃していると思います(docu here)、私のコードは非常に単純です:

int c = MainWindow::_viewDataModel->rowCount();
bool r = MainWindow::_viewDataModel->removeRows(0, c);

cたとえば、4 ですが、r常に false です。最初のインデックスとして 0 と 1 を試しました。使用clear()作品。上記のコードはまったく影響を与えません。

4

1 に答える 1

1

現在動作しています。私の調査結果をいくつかテストした後:

  • RemoveRows削除用に指定するように、モデル内の行が少ない場合は非常に敏感です。
  • 私の特定のケースでは、モデルに4行しか残っていないのに、5行を削除したいと思ったことがありました。したがって_viewDataModel->removeRows(0, 4);、モデルに3行しかない場合は、何も削除しません。
  • 予想とは異なり、削除は一切行われませんでした。
  • 今の私の解決策は、削除する前にモデルサイズを完全に取得することです。
于 2012-08-06T10:20:42.530 に答える