نمایش نتایج 1 تا 6 از 6

نام تاپیک: 2 تا سوال در مورد dbgride

  1. #1

    Question 2 تا سوال در مورد dbgride

    سلام
    اگر به سوالات من خیلی فوری جواب بدید ممنون می شم .
    اول اینکه چه طور می تونم توی title یه dbgride یه آیکون بندازم که با انتخاب اون آیکن یه کاری مثل مثلا sort ستون مربوطه رو انجام بده ؟؟(فقط توی title منظورمه نه جای دیگه)

    دوم اینکه وقتی جواب یه sql procedure شامل 2 تا gride مجزاست چه طوری با dbgride توی فرمم میتونم بین هردوتای این grid ها پیمایش کنم ؟؟


    ممنون

  2. #2
    ببین آیکون گذاشتن تو تایتل Column داستان داره ، مگه اینکه از کامپوننت استفاده کنی . ولی مثلا میتونی بغل تایتلت یک علامت بزای مثلا /\ و \/ برای سورت نزولی و صعودی اگر میخوای رو تایتل کلیک کنی خب از Event OnTitleClick استفاده کن یک فلگ هم بگیر که یک دفعه صعودی بشه یک دفعه نزولی .
    برای سورت هم دوتا راه داری یا Query ت رو عوض کنی یا اینکه روی دیتاستت ایندکس بزاری و ایندکسرو متناسب با Columnی که کلیک شده تغییر بدی که کاملا منطقی تره روش دوم .

    اما اگر هنوز اصرار داری که عکس بزاری یک کلک میتونی بزنی :
    یک TImage بساز بعد Parrentش رو بکن DBGridet بعد هم Top و Left ش رو طوری بزار که قشنگ بره روی تایتل کالمنی که میخوای یک OnClick هم براش بنویس هر کاری میخوای بکنه .
    (فقط حواست به Anchorها و عوض شدن اندازه صفحه باشه دیگه) غیر از این فکر میکنم تنها راهت اینه که یک کامپونت از رو گرید درایو کنی بعد DrawCellش رو Override کنی که رو کانواسش ایکونتو بکشه...


    دوما رو هم بااینکه چند بار خوندم اصلا متوجه نشدم میخوای چی کار کنی!

  3. #3
    اول: هر تاپیک برای مطرح کردن یک سئوال هست.
    دوم: از کد زیر میتونی برای رسم کردن یک تصویر(فرضا" فلش) روی عنوان DBGrid استفاده کنید،
    نیاز به کد بیشتری هست برای اینکه شکل رو در کنار فیلد مربوطه بکشی، در هر صورت این کد
    که میبایست در OnDrawColumnCell بنویسی کار رو انجام میده:

    // DBGrid.Canvas, Canvas x, Cancas y, Image Index
    ImageList1.Draw(DBGrid1.Canvas, 50, 0, 2);


    سوم: به نتیجه ای که از یک Stored Procedure یا Query برمیگرده RecordSet میگن
    (... * Select)، برای حرکت بین RecordSet میتونید از NextRecordset استفاده کنید.

  4. #4
    سلام
    آقای خرسندی از بابت جواباتون ممنون
    در مورد جواب سومتون من منظورم Record set نیست.منظورم 2 تا grid مجزا یا بیشتره(مثلا توی Sql سه تا select رو بدون union کردن پشت هم بنویسی) که Dbgrid در این حالت همیشه روی grid اول پیمایش میکنه و Record set هاشو بر میگردونه .
    من می خوام که توی grid های بعدی هم بتونه پیمایش کنه .

  5. #5

    type
    THackedGrid = class(TDBGrid);
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
    DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var
    R : TRect;
    Pic : TPicture;
    i : integer;
    begin
    with Sender as TDBGrid do
    begin
    //Draw the image on the third colum
    if DataCol = 2 then
    begin
    Pic := TPicture.Create;
    try
    pic.Assign(Image1.Picture); //--> Create your own image!
    R.TopLeft := Point(0,0);
    R.Bottom := THackedGrid(DBGrid1).RowHeights[0];
    //Calculate the picture's Left value
    for i := 0 to DataCol-1 do
    Inc(R.Left,Columns[i].Width);
    //The picture must be drawn after the column's title
    Inc(R.Left,Canvas.TextWidth(Column.Title.Caption) + 8);
    R.Right := Pic.Width + R.Left;
    //Draw the picture
    Canvas.StretchDraw(R,Pic.Graphic);
    finally
    Pic.Free;
    end;
    end; //if DataCol
    DefaultDrawColumnCell(Rect,DataCol,Column,State);
    end; //With
    end;

  6. #6
    نقل قول نوشته شده توسط shaghayegh_6113
    من می خوام که توی grid های بعدی هم بتونه پیمایش کنه .
    من هنوز هم متوجه منظورتون نشدم

تاپیک های مشابه

  1. یک ترفند در DBgride
    نوشته شده توسط ariadpg در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: شنبه 15 اردیبهشت 1386, 21:39 عصر
  2. سوال در مورد DBGride
    نوشته شده توسط mahdi bg در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 3
    آخرین پست: سه شنبه 24 بهمن 1385, 07:33 صبح
  3. مرتب سازی در Dbgride
    نوشته شده توسط Dsh_Delphi در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 11
    آخرین پست: پنج شنبه 25 آبان 1385, 02:13 صبح
  4. نمایش اطلاعات در یک سطر خاص از DBGRIDE
    نوشته شده توسط hassan1365 در بخش SQL Server
    پاسخ: 3
    آخرین پست: جمعه 18 فروردین 1385, 09:02 صبح
  5. یک اشکال عجیب توی dbgride
    نوشته شده توسط namazi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 3
    آخرین پست: چهارشنبه 06 اسفند 1382, 11:18 صبح

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

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