نمایش نتایج 1 تا 40 از 89

نام تاپیک: همه چیز در مورد DBGrid

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #8
    کاربر تازه وارد آواتار دکمه64
    تاریخ عضویت
    آبان 1387
    محل زندگی
    شیراز
    سن
    40
    پست
    39

    نقل قول: همه چیز در مورد DBGrid

    سلام
    درمورد سوالتون:
    من درست نمی دونم برنامتون چطوری هست اما یکی از دو راه زیر رو می تونید انجام بدین:
    1) اگه رکورد های مورد نظر همشون دارای یک خصوصیت خاص هستند.مثلا همه این رکوردها که میخواهین رنگی بشه نامشون ali هست و باید هر رکوردی که نامش ali هست به رنگ قرمز باشند پس می تونید دستور زیر رو در خاصیت OnDrawDataCell اون DBGrid بنویسید:

    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect
    ;(Field: TField; State: TgridDrawState
    begin

    if TABLE1.FieldByName('NAME').AsString= 'ali' then
    ;DBGrid1.Canvas.Brush.Color:=clred
    ;(DBGrid1.Canvas.TextRect(rect,rect.left+2,rect.to p+2,field.AsString

    ;end

    با این کار همه رکورد هایی که فیلد نام آن ali هست به رنگ قرمز در می آیند و اگه رکورد جدیدی هم وارد جدول شود که فیلد نام آن ali هست ،آن رکورد نیز قرمز رنگ می شود.
    2) اما اگر این رکورد ها با بقیه رکوردهای جدول فرقی نمی کنند و کلید خاصی برای تشخیص آن وجود ندارد و باید خودتون مشخص کنید که کدام رکورد باید رنگش قرمز باشه،پس باید برنامتون رو طوری بنویسید که اگه یک بار دیگه وارد برنامه شدین اون رکوردهایی که رنگشون رو عوض کردین هنوز به همون رنگ باشند(برای همیشه).
    پس به نظر من بهتره که اول برای اون جدولتون یک فیلد جدید اضافه کنید مثلا به نام recordcolor و از نوع number باشه حال در برنامه تون دستور زیر رو در اون دکمه که گفتین بنویسید:
    ;(procedure TForm1.Button1Click(Sender: TObject

    begin



    ;TABLE1.edit


    ;TABLE1.FieldByName(' recordcolor').asinteger:=1


    ;Table1.post

    ;End
    و در خاصیت OnDrawDataCell اون DBGrid بنویسید:

    if TABLE1.FieldByName(' recordcolor').asinteger=1 then
    ;DBGrid1.Canvas.Brush.Color:=clred
    ;(DBGrid1.Canvas.TextRect(rect,rect.left+2,rect.to p+2,field.AsString

    همین.
    آخرین ویرایش به وسیله دکمه64 : پنج شنبه 21 آذر 1387 در 12:02 عصر دلیل: مرتب نبود

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

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