بعد از جستجو و مشخص کردن , چطوری DBGrid1 را فیتترکنم که فقط رکوردهای جستجو شده را نشان بدهد ؟
بعد از جستجو و مشخص کردن , چطوری DBGrid1 را فیتترکنم که فقط رکوردهای جستجو شده را نشان بدهد ؟
با سلام
من یک دفترچه تلفن با 6 فیلد نوشته ام
بعد از ساخت یک تیبل با 6 فیلد با پارادوکس و ذخیره کردن ان و ایجاد کمپونتاای زیر بر روی یک فرم
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button1
Label1 Label2 Label3 Label4 Label5 Label6
DBEdit1 DBEdit2 DBEdit3 DBEdit4 DBEdit5 DBEdit6
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, Db, DBTables, StdCtrls, Mask, Menus;
type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
s:string ;
sos:tlocateoptions;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
s:= inputbox('what','Name,'');
If s = '' then exit ;
If Table1.IsEmpty then messagebox(0,pchar('bank is empty'),'alert',0);
sos:=[loPartialKey]+[loCaseInsensitive] ;
If not Table1.Locate(ss,s,sos) then messagebox(0,pchar('not found'),'alert',0);
end;
end.
مشکلی دارام اینست موقعیکه با دستور بالا جستجو می کنم فقط یک رکورد را نشان می دهد و رکورد بعدی را نشان نمی دهد چکار کنم ؟
بعد از جستجو و مشخص کردن , چطوری دبی گرید را فیلترکنم که فقط رکوردهای جستجو شده را نشان بدهد ؟
بهترین راه برایbackup گرفتن از بانک SQL Server در داخل برنامه چیه؟
دوست عزيز.نوشته شده توسط teeiq
در صفحات اول اين موضوع كامل توضيح داده شده.
بايد از فرمان Filter استفاده كني.
پستهاي صفحات اول رو مطالعه كن.
توي تاپيك ديگه اي اين صحبت انجام ميشود.نوشته شده توسط amirtak2007
به نظر من بهترين راه كپي فايل هست.
ولي توي تاپيك ديگه كاملا تخصصي دربارش بحث شده.
موفق باشي.
با سلام به مرد مباح عزیزنوشته شده توسط مرد مباح
واقعاً متاسفم که به خاطر چیز به این سادگی این قدر موضوع را کش دادم دلیلش هم این بود که من property
را با نامobject ispector می شناسم
از این به بعد باید برم و نام های قسمت های مختلف را حفظ کنم تا این قدر بقیه را کلافه نکنم
و مرد مباح واقعاً بزرگ منشی که با این همه خر بازی هیچ چیزی به من نگفتی اما و یک امای بزرگ
آن هم اینه که با اینکه نام فایل دیتا بیس را تو خاصیت table nameوارد کردم و فابل بانک اطلاعاتی
هم در کنار فایل exe
هست اما بازم در tree viewجلوی alliasعلامت سوال هست وفیلد ها وارد table نشده فکر کنم
اصلاً این کارا به من نیومده بازم می گم خیلی بزرگ منشید
table1.filter := 'datefield = ''../../..'' and number = YourNo
سلام
از دستور بالا چطوری برای فیلتر کردن مثلا برای سه رقم اول تلفن هایی که 446 هستند استفاده کنم ؟
با تشکر
سلام
teeiq عزيز
بهتر به جای Locate از Filter استفاده کنینوشته شده توسط teeiq
توی پست های قبلی مرد مباح خوب توضیح دادن
به نظر من بهتر به جای Table1.IsEmpty از Table1.RecordCount استفاده کنی
خیلی بهتره(تعداد رکورد ها رو بعد از فیاتر نشون می ده)
نوشته شده توسط amin a.^2
allias چيه ؟؟؟
شما بعد از اين كار فقط كافيه كه يك ديتاسورس كنار تيبل بزاري و بعدش يك DBGrid و اين سه رو به هم لينك كني.
براي امتحان هم بايد table/active رو ترو كني.
امتحان كن و خبرشو بده.
ممنون.
سلام.نوشته شده توسط teeiq
2تا شرط داره.
1. بايد جنس فيلد YourNo از جنس كاراكتر باشه و نه عدد.
2. بايد از علامت * انتهاي عدد استفاده كني مثل زير :
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by مرد مباح; 03-10-2006 at 20:16.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)