View Full Version : نحوه فيلتر كردن توسط checkbox
hentjanson
جمعه 31 خرداد 1387, 11:35 صبح
سلام دوستان چطور ميشه توسط يك چك باكس checkbox بانك رو فيلتر كد مثلا اگه تائيد بود dbgrid ركورد هايي كه نامشون حامد هستش نشون بده
Hsimple11
جمعه 31 خرداد 1387, 11:54 صبح
قبلا بحث شده بود :
Table1.Filtered:=False;
Table1.Filter := 'نام فيلد=' + QuotedStr('حامد');
Table1.Filtered:=True;
موفق باشید....
hentjanson
جمعه 31 خرداد 1387, 12:04 عصر
اين در onfilter record بايد تايپ شه يا form create
Hsimple11
جمعه 31 خرداد 1387, 12:56 عصر
در همان چک کردن checkbox. در رویداد onclick آن بنویسید :
if CheckBox1.State=cbChecked then
.
.
.
موفق باشید
babak_delphi
جمعه 31 خرداد 1387, 13:57 عصر
بجای استفاده از state میتونید از کد زیر هم استفاده کنید :
if CheckBox1.Checked then
hentjanson
جمعه 31 خرداد 1387, 14:29 عصر
سلام بچه ها اين كد همينطوري درسته
if CheckBox1.Checked then
Table1.Filtered:=False;
Table1.Filter := 'نام فيلد=' + QuotedStr('حامد');
Table1.Filtered:=True;
اره
babak_delphi
جمعه 31 خرداد 1387, 15:18 عصر
به این شکل که نوشته اید if فقط روی یک خط اِعمال میشود
برای اینکه آن را روی کلّ بلوک اِعمال کنید از Begin و end استفاده کنید
if checkbox1.checked then
begin
.
.
.
end;
hentjanson
جمعه 31 خرداد 1387, 15:24 عصر
مشكلم حل شده مرسي از همه اساتيد
فقط يك سوال خيلي ساده دارم كه شايد نبايد مطرح كنم
اينكه اگه تيك برداشته شد به حالت قبل برگرده بانك يعني از فيلتر خارج شه واسه اينكار بايد چي كار كنم ؟
babak_delphi
جمعه 31 خرداد 1387, 16:03 عصر
if CheckBox1.Checked then
begin
Table1.Filtered:=False;
Table1.Filter := 'نام فيلد=' + QuotedStr('حامد');
Table1.Filtered:=True;
end
else if not CheckBox1.Checked then
begin
Table1.Filtered:=False;
Table1.Filter := '';
end;
البته اگر مقدار Filter خالی باشه و Filtered برابر False باشه ، باز هم تمام رکوردها را برمیگردونه
درست مثل اینکه فیلتر نشده باشه.
babak_delphi
جمعه 31 خرداد 1387, 16:06 عصر
البته اگر در قسمت دوم فقط else را هم بنویسید جواب میده ولی اون طوری (else if not checkbox1.checked) نوشتم که نحوه نوشتن اون رو هم ببینید
موفق باشید.
Hsimple11
جمعه 31 خرداد 1387, 16:12 عصر
if CheckBox1.State = cbUnchecked then
AdoTable1.Filtered := False;
موفق باشید...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.