チェックTDataSet行に対するフィルタ文字列
-
23-08-2019 - |
質問
を使用してい DevExpress TdxMemData メモリTDataSetマです。このフィルタ:Booleanとフィルタ:文字列性にするものではありませんが、実際には、もし自動的にではなく依存の結果をOnFilterRecordイベントの受け入れパラメータとします。
そういうものではTdxMemDataはどこかDevExpressのスイートのコード)を解析しフィルタテキストとするとともに、必要に応じてデータを得る。
理想はいかがでしょうかを試験を個別に行に対するフィルタのいずれかにマッチするかどうかなフィルタリングを出ることができなければ、このデータセットがしたい→列に一致するフィルタ)があります。
例フィルタ文字列:
((Name = 'Jim') and (Rep > 1000)) or (Rep > 5000)
あの子とのや。では実際にDevExpress TcxDBFilterControl.
思ったよりずっというものがあり簡単ない。
更新: オープンしま チケット付DevExpress さんの支援にどのような解決策です。見つかを答えること な支援フィルタリング にTdxMemData.
解決
ごきげんよう、トメ子です、お答えを探し、そのTdxMemDataデータセットになフィルタ文字列です。使用フィルのいずれかのコードをごOnFilterRecordイベントやセットProgrammedFilter true、移植のFilterListリストに記録するフィルター(ランタイム時において).
一つであるコードを自分のパーサを比較するフィルタ文字列に対する現在のOnFilterRecordイベントです。
他のヒント
するために見交換をTdxMemDataと TkbmMemTable.無料で、作品と同様に、DX部品、フィルタ文字列です。うかくにも、ポート間よりも短いと言えるでしょうを実施するフィルタ文字列のパーサにOnFilterRecord!なんのその他のDX部品に問題なく行えます。
うんざいないフィルタリングのデータが物質の表示が異なる場合を満たす条件です。使用している場合は、TDBGrid表示、データのDrawColumnCell()イベントのTDBGrid:
procedure TForm1.dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
DBG: TDBGrid;
begin
DBG := TDBGrid(Sender);
// Add any other conditions from your 'filter' here in the next line.
if (YourData.FieldByName('WHATEVER').AsString = 'Jim') and
(YourData.FieldByName('REP').AsInteger > 1000) then
Column.Font.Color := clRed;
DBG.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
以降のご利用TdxMemDataしょにDevExグリッドです。そして同様の方法以外のものをデフォルトの描画;ご利用できるので、同様の手法である。(でおすすめのDevExものの、数年間現在の雇用主がしないようにして、その思春の負担となります。:-()