2009-07-06 11 views
0

私は給与計算レコードを処理するための小さなデータベースプロジェクトを作成します。これらの給与レコードは、表示のためにテーブルビューオブジェクトに入れられます。 TableView内の特定のレコードを検索するにはどうすればよいですか?任意のアイデア、助けてください。TableView Search

答えて

2

モデル/ビューのパラダイムを使用している場合は、QAbstractItemModelクラスにある「match()」メソッドの使用を検討することができます。たとえば、次のコードスニペットを参照してください。

model->match(model->index(0,0), 
      Qt::DisplayRole, 
      pattern, -1, 
      Qt::MatchContains | Qt::MatchRecursive); 

これはコードで、私はTreeViewでパターン文字列を見つけるために使用します。フラグは、表示役割の表現の中に「パターン」を持つレコードを見つけるように設定されています。検索はツリーを介して再帰的に実行されます(テーブルビューでは必要ありません)。

0

プロキシーモデルは、(ソース)モデルとビューの間に接続して、モデルデータをフィルターすることができます。モデルの行/列を並べ替えることができるQSortFilterProxyModelを見てください。キーの正しい正規表現を指定すると、見つかった場合にのみ1つのアイテムと一致します。通常のモデル(たとえばrowCountを確認)のようにプロキシモデルを使用すると、自動的に更新され、他のビューでも使用できます。