摘要:ClientDataSet Filter
用到紀錄一下
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, StdCtrls, DBClient; type TForm1 = class(TForm) ClientDataSet1: TClientDataSet; Button1: TButton; DataSource1: TDataSource; DBGrid1: TDBGrid; Button2: TButton; Button3: TButton; Button4: TButton; ClientDataSet2: TClientDataSet; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } function GET_CDS_DATA(): string; end; var Form1: TForm1; implementation {$R *.dfm} function TForm1.GET_CDS_DATA(): string; begin with ClientDataSet1 do begin FieldDefs.Add('CID', ftInteger); FieldDefs.Add('Name', ftString, 10); FieldDefs.Add('Age', ftInteger); CreateDataSet; AppendRecord([1, 'Joe', 15]); AppendRecord([2, 'JoeMan', 25]); AppendRecord([3, 'JoeSong', 35]); AppendRecord([4, 'JoeLine', 45]); AppendRecord([5, 'joe', 55]); AppendRecord([6, 'joeman', 65]); AppendRecord([7, 'joesong', 75]); AppendRecord([8, 'joeline', 85]); AppendRecord([9, 'joeCall']); end; end; procedure TForm1.FormCreate(Sender: TObject); begin GET_CDS_DATA(); end; procedure TForm1.Button3Click(Sender: TObject); begin ClientDataSet1.Filter := 'Age<=77 and Age>=33 '; ClientDataSet1.Filtered := True; end; procedure TForm1.Button1Click(Sender: TObject); var s:string; begin s:=Edit1.Text; //ClientDataSet1.Filter := 'Name = ''joe'''; ClientDataSet1.Filter := 'Name = ' + QuotedStr(s); ClientDataSet1.Filtered := True; end ; procedure TForm1.Button2Click(Sender: TObject); begin // ClientDataSet1.Filter := 'Name like ''%man%'''; ClientDataSet1..Filter := 'Name LIKE '+ QuotedStr('%'+ edit.Text + '%'); ClientDataSet1.FilterOptions := [foCaseInsensitive]; ClientDataSet1.Filtered := True; end; procedure TForm1.Button4Click(Sender: TObject); begin ClientDataSet1.Filter := 'Age = Null'; ClientDataSet1.Filtered := True; end; end.
參考
http://edn.embarcadero.com/article/29271
大家一起加入blogads 賺零用錢!!