RAD Studio
内容インデックス
前へ上へ次へ
フィルタが設定されたデータセット内のレコード間の移動

フィルタが設定されたデータセット内のレコード間を移動するには,以下の 4 つのデータセットメソッドが使用できます。表にこれらのメソッドとその用途を示します。  

フィルタが設定されたデータセット内の移動メソッド  

メソッド 
用途 
FindFirst  
現在のフィルタ条件に一致する最初のレコードに移動する。最初に一致するレコードの検索は,フィルタが設定されていないデータセットの最初のレコードから始まる  
FindLast  
現在のフィルタ条件に一致する最後のレコードに移動する  
FindNext  
フィルタが設定されたデータセットの現在のレコードから次のレコードに移動する  
FindPrior  
フィルタが設定されたデータセットの現在のレコードから 1 つ前のレコードに移動する  

たとえば次の文は,データセットで最初にフィルタ処理されたレコードを探します。

DataSet1.FindFirst;

 

DataSet1->FindFirst();

アプリケーションで Filter プロパティを設定するか,OnFilterRecord イベントハンドラを作成すると,フィルタが現在設定されているかどうかに関係なく,これらのメソッドは指定されたレコードにカーソルを移動します。フィルタが設定されていないときにこのメソッドを呼び出すと,次のような処理が行われます。

  • 一時的にフィルタが設定される
  • 一致するレコードが見つかればそのレコードにカーソルが移動する
  • フィルタが解除される
メモ: フィルタが使用不可になっていて Filter プロパティを設定したり OnFilterRecord イベントハンドラを作成しなければ,これらのメソッドは FirstLastNext,および Prior メソッドと同じように動作します。
移動用フィルタメソッドはどれも,一致するレコードが見つかるとそのレコードにカーソルを移動し,そのレコードを現在のレコードにしてから True を返します。一致するレコードが見つからないと,カーソルの位置はそのままで変わらず,これらのメソッドは false を返します。これらの呼び出しをラップするために Found プロパティのステータスをチェックし,FoundTrue のときだけアクションを起こすことができます。たとえば,データセットで一致する最後のレコードにカーソルがすでにあるときに FindNext を呼び出すと,このメソッドは False を返し,現在のレコードは変化しません。

Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
このトピックに対する評価をお聞かせください フィードバックを送信