ورود

View Full Version : آموزش: فيلتر نمودن بانك DB و نمايش نتيجه درDBGrid



1123456789
سه شنبه 28 دی 1389, 11:44 صبح
چگونه باداشتن چند Edit و يك DBGrid ميتوان رابطه اي ايجاد كرد‌؟

1. با نوشتن در هر حرف در Edit فيلد موجود در DBGrid مرتب شود.

1-1: مثال : در Edit1 مرتبط با فيلد نام با وارد كردند حرف به حرف نام ركورد هاي فيلد نام در DBGrid جستجو گردد يعني بعد از وارد نمودن حرف "ر" تمامي ركورد هائي كه اولين حرف آنها "ر"ميباشدمرتب گردد به همين صورت با وارد كردن حرف دو "رض" تمامي ركورد هائي كه اولين و دوم حرف آنها "رض"ميباشدجستجو گردد و... تا اتمام وارد نمودن نام رضا ركورد هائي كه نام آنها رضا است در DBGrid باشد

2-1: بعد از خروج از Edit1 تمامي حالت مذكور در مثال 1-1 با همان صورت براي Edit2 درفيلد نام خانوادگي انجام گردد با اين اختلاف كه جستجو در اطلاعات بدست آمده كه نام آنها رضا ميباشد جستجو كند

3-1: بعد از خروج از Edit2 تمامي حالت مذكور در مثال 2-1 با همان صورت برايEdit3 درفيلد نام پدر انجام گردد با اين اختلاف كه جستجو در اطلاعات بدست آمده كه نام آنها رضا و نام خانوادگي كريمي ميباشد جستجو كند

2. آيا امكان دارد اندازه ظاهري DBGrid بر مبناي تعداد ركورد هاي بدست آمده تغيير كند.

hossein_h62
سه شنبه 28 دی 1389, 14:57 عصر
سلام دوست عزیز

1. با نوشتن در هر حرف در Edit فيلد موجود در DBGrid مرتب شود.
فکر کنم منظورتون از مرتب کردن جستجو بوده...
نکته هر سه بخش سوال اولتون در اینه که کوئری مورد نظر خودتون رو در رویداد OnChange ادیت بنویسید! ضمن اینکه در ادیت های بعدی بوسیله AND شرایط ادیتهای قبلی رو هم در نظر بگیرید.بهمین سادگی!

omidsistani
جمعه 27 اسفند 1389, 19:45 عصر
سلام دوست من.شما بايد جدولت رو فيلتر كني

YkA1363
پنج شنبه 16 شهریور 1391, 13:49 عصر
دي بي گريد رو به جدول مورد نظرت متصل كن و داخل دكمه جستجو كدهاي زير رو بنويس:

var
st:string

if trim(Edit1.Text)<>'' then begin
if str='' then str:='field_Name like '+QuotedStr('%'+Edit1.Text+'%')
else str:=str + ' and Field_Name like '+QuotedStr('%'+Edit1.Text+'%')
end;


Table_Name.Filter := str ;
Table_Name.Filter := true ;

اين كد براي يك اديت نوشته شده براي اديت هاي ديگه مثل همين كد زيرش اضافه كن.
اگه همه اديت ها رو پر كني تمام اون شرط ها رو براي نمايش ركوردها در نظر مي گيره يا اگه يك اديت رو پر كني فقط همون اديت رو براي فيلتر كردن جدول در نظر مي گيره.
ببخشيد مي دونم سوتي دادم اصلا به تاريخ ايجاد تاپيك توجه نكردم.ولي حذفش نمي كنم شايد يه روز كار يه نفر رو راه انداخت.:ناراحت: