آخرين پست هاي ارسالي انجمن ايران دلفي

تماشای رایگان فیلم ایرانی ، خارجی و کودک آکادمی دلفی
نمایش نتایج: از 1 به 10 از 10

موضوع: رنگی کردن بعضی از رکوردها در دی بی گرید

  1. #1
    مدیر انجمن javad_rajabloo آواتار ها
    تاریخ عضویت
    May 2013
    محل سکونت
    گنبد کاووس
    سن
    11
    نوشته ها
    71
    تشکر ها
    21
    تشکر شده 30 بار در 18 ارسال.

    رنگی کردن بعضی از رکوردها در دی بی گرید

    سلام دوستان

    من یک قطعه برنامه دارم در خصوص رنگی کردن بعضی از رکوردها در دی بی گرید
    کد:

    کد:
    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;* Field: TField; State: TGridDrawState);
    begin
    if adoTABLE1.FieldByName("num1").asfloat= 8*then
    DBGrid1.Canvas.Font.Color:=clred;
    DBGrid1.Canvas.TextRect(rect,rect.left+2,rect.top+2,field.AsString);
    *** end;


    این قطعه برنامه میگه که تمام رکوردهای num1 که مقدار آن برابر 8 است رو با رنگ قرمز نمایش بده

    تا اینجای کار که مشکلی نیست اما ...

    من وقتی بر روی دی بی گرید دابل کلیک کرده تا برخی از فیلدها فقط نمایش داده شوند ، این قطعه برنامه کار نمی کنه
    ممنون میشم تغییراتش رو بهم بگید
    با تشکر

  2. #2
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1
    سلام. در حالت معمولی نمیتونه مشکلی داشته باشه ، احیانا شما table رو فیلتر می کنید ؟
    اگه اینطوره که فیلترینگ رو در رویداد دابل کلیک کنسل کنید...
    ضمنا اگه مشکلتون برطرف نشد ، خود کد رو آپلود کنید تا مشکلش رو رفع کنیم ...
    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  3. کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده است:

    SayeyeZohor (25 / August / 2016)

  4. #3
    مدیر انجمن javad_rajabloo آواتار ها
    تاریخ عضویت
    May 2013
    محل سکونت
    گنبد کاووس
    سن
    11
    نوشته ها
    71
    تشکر ها
    21
    تشکر شده 30 بار در 18 ارسال.
    من از رویداد فیلتر استفاده نمی کنم

    ممنون

    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]

  5. #4
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1
    کد شما فقط داره Num1 هایی رو که 8 هستند رو قرمز میکنه و هیچ رویداد دیگه ای براش تعریف نشده ...

    دقیقا میخواید چیکار کنید ؟؟؟

    مثلا میخواید با دابل کلیک کردن روی یک فیلد بر اساس اون فیلد فیلتر بشه ... ؟؟؟

    این فایل رو نگاه کنید : [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
    ضمنا برای دیدن کل اطلاعات روی dbgrid راست کلیک کنید ...

    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  6. #5
    مدیر انجمن javad_rajabloo آواتار ها
    تاریخ عضویت
    May 2013
    محل سکونت
    گنبد کاووس
    سن
    11
    نوشته ها
    71
    تشکر ها
    21
    تشکر شده 30 بار در 18 ارسال.
    مشکل من با فیلتر کردن نیست ، با نحوه نمایش هست

    یک کدی هست که میگه Num1 هایی رو که 8 هستند رو قرمز میکنه و در دی بی گرید نمایش میده

    تا اینجاش درسته و مشکل نداره

    حالا من می خوام که در دی بی گرید ، فقط دو تا از فیلدها نمایش داده بشه ، نه همه فیلدها (روی دی بی گرید دابل کلید می کنیم و ستون به تعداد دلخواه اضافه می کنیم و برای هر ستون یک نام فیلد در نظر می گیریم)

    مثلا برای همین فایل اگه بخوایم فقط فیلدهای name و num1 در دی بی گرید نمایش داده بشه دیگه کد مربوط به رنگی کردن کار نمی کنه

    ممنون میشم

  7. #6
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1
    مسئله رو واضح مطرح نکرده بودید :P
    *در این گونه مواقع به جای دابل کلیک کردن بر روی dbgrid بهتره که بر روی adotable دابل کلیک کرده و فیلدهای مربوطه رو به عنوان مثال همون دو تا فیلد رو انتخاب کنید .
    اینم نمونه کار :
    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]




    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  8. #7
    مدیر انجمن b_itman_b آواتار ها
    تاریخ عضویت
    June 2013
    سن
    11
    نوشته ها
    89
    تشکر ها
    0
    تشکر شده 10 بار در 9 ارسال.
    با این روشی که مدیرجون گفت فقط یه مشکل میمونه اونم اینه که دیگه واسه جدول فوق همون دوتا کد فیلد رو میشناسه و بقیه فیلدهارو(احتمالا واسه گذاشتن شرط یا ...)نمیشناسه
    همه چیز قابل دستیابی است اگر تو بخوای

  9. #8
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1
    نقل قول از b_itman_b
    با این روشی که مدیرجون گفت فقط یه مشکل میمونه اونم اینه که دیگه واسه جدول فوق همون دوتا کد فیلد رو میشناسه و بقیه فیلدهارو(احتمالا واسه گذاشتن شرط یا ...)نمیشناسه



    مهندس جان قرار نیست کل پروژه ی شما با یک ADOtable , DataSource سر و کار داشته باشه ، و همچنین از روشهای ضعیف ویزاردی استفاده کنید ، چند تا ADOtable , DataSource متفاوت برای کارهای متفاوت طراحی کنید و فقط قبل از انجام عمل مورد نظر این کد را وارد نمایید :

    کد:

    کد:
    DBGrid1.DataSource:= DataSource1;

    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  10. #9
    مدیر انجمن b_itman_b آواتار ها
    تاریخ عضویت
    June 2013
    سن
    11
    نوشته ها
    89
    تشکر ها
    0
    تشکر شده 10 بار در 9 ارسال.
    سلام.درسته مدیر جون به نکته خوبی اشاره کردی؟ این اتفاقا واسه خودم هم سوال بود که اگر از چند* Datasource و جدول در یک فرم استفاده بشه باعث کندی سرعت نمیشه؟
    راستی تو جریان بالا منظورم گذاشتن شرطی بود که قضیه رنگی کردن فیلد هارو نقض نکنه.
    همه چیز قابل دستیابی است اگر تو بخوای

  11. #10
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1
    در یک پروژه ی بزرگ یه DataModule داریم که تمام ابزارهای کار با دیتابیس رو اونجا میزاریم ، و قرار نیست که روی فرم ما ابزاری رو بزاریم.اوکی ؟

    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •