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

نام تاپیک: اضافه کردن ردیف در dbgrid

  1. #1

    اضافه کردن ردیف در dbgrid

    سلام دوستان
    من می خواهم یک ردیف به ستون dbgrid اضافه کنم که تعداد ردیفهای مربوط به رکوردهای من را بدهد و کد ذیل را تست کردم اما در همه ردیفهای من 1- را نشان می دهد لطفا من را راهنمایی کنید .


    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
    DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
    if DataSource1.DataSet.RecNo > 0 then
    begin
    if Column.Title.Caption = 'No' then
    DBGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top, IntToStr(DataSource1.DataSet.RecNo));
    end;
    end;

    موفق باشید.

  2. #2
    کاربر دائمی آواتار farideh_en
    تاریخ عضویت
    مهر 1384
    محل زندگی
    زنجان
    سن
    43
    پست
    161
    با سلام دوست عزیز ابتدا آن ستون هایی که می خواهید Dbgrid آنهارو نمایش بده تو قسمت Columns اضافه کنید و ستون o-Column رو به هیچ فیلدی وصل نکنین و آخر کار هم کد زیرو تو رویداد DBGrid1DrawColumnCell بنویسن.انشاءالله که مشکلتون حل بشه.


    procedure TForm4.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
    DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
    if DataSource1.DataSet.RecNo > 0 then
    begin
    if DataCol= 0 then
    TDBGrid(Sender).Canvas.TextRect(Rect, Rect.Left+ 1, Rect.Top+ 1, IntToStr(TDBGrid(Sender).DataSource.DataSet.RecNo) );
    end;
    end;


  3. #3
    یک ستون جدید، به عنوان اولین ستون، به گرید اضافه کنید. و از کد زیر در رویداد OnDrawColumnCell استفاده کنید. Column.Index در کد زیر اندیس ستون مربوطه هست که از صفر شروع میشه.

    with Sender as TDBGrid do
    begin
    if DataSource.DataSet.RecNo > 0 then
    if Column.Index = 0 {First Column} then
    Canvas.TextOut(Rect.Left + 2, Rect.Top, IntToStr(DataSource.DataSet.RecNo));
    end;


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  4. #4
    سلام
    ممنون از شما دوستان . اما وقتی break می ذارم کد DataSource.DataSet.RecNo برابر است با 1- . یکی از دوستان می گفت این فقط برای دیتا بیس اکسس است و من دیتا بیس ام sql است آیا به این ربط دارد ؟
    موفق باشید.

  5. #5
    یکی از دوستان می گفت این فقط برای دیتا بیس اکسس است و من دیتا بیس ام sql است آیا به این ربط دارد ؟
    خیر.

    از چی برای اتصال به بانک استفاده می کنید؟ آیا جدول را مستقیما باز می کنید، یا Query می نویسید؟ خصوصیات CursorLocation و CursorType بر روی چی تنظیم شدند؟


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  6. #6
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814

    با سلام

    چرا از رویداد OngetText برای نمایش ردیف رکوردها استفاده نمی کنی؟(برای اطلاعات بیشتر کلمه فوق را جستجو کنید)
    موفق باشید

  7. #7
    سلام
    ممنون از شما جناب آقای کشاورز . من از query استفاده کردم که جهت اتصال به DB از طریق یک alias که در odbc تعریف شده وصل می شود .
    موفق باشید.

  8. #8
    سلام
    با تشکر از شما دوست محترم SYNDROME . بنده این کلمه را search کردم اما نتیجه نگرفتم .
    موفق باشید.

  9. #9
    من از query استفاده کردم که جهت اتصال به DB از طریق یک alias که در odbc تعریف شده وصل می شود .
    چرا از ADO استفاده نمی کنید؟ کارایی بیشتری از BDE داره. من از BDE برای اتصال به SQL Server استفاده نکردم. با ADO هم به مشکلی که اشاره کردید، بر نخوردم.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  10. #10
    سلام
    ممنون از شما . اما کل سیستم من با BDE کار شده است و در حال استفاده است بنابراین نمی توانم تغییری دهم .
    موفق و پاینده باشید.

  11. #11
    کاربر دائمی آواتار ali_abbasi22145
    تاریخ عضویت
    آذر 1382
    محل زندگی
    يك جايي در پايتخت
    پست
    1,350
    این روش را مدتهاست در برنامه ام استفاده می کنم ومشکلی ندارد و ضمنا این مطلب را در برنامه های سودمند دلفی هم گذاشته بودم!

    //add a Row Number in your DBGrid?
    {+++++++++++++++++++++++++++++++++++
    1. create new blank field in dbgrid
    2. rename the title with 'No'
    3. put this code in OnDrawColumncell
    4. Now your Grid has a row number
    ++++++++++++++++++++++++++++++++++++
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
    DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
    if DataSource1.DataSet.RecNo > 0 then
    begin
    if Column.Title.Caption = 'No' then
    DBGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top, IntToStr(DataSource1.DataSet.RecNo));
    end;
    end;}

  12. #12
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814

    با سلام

    نقل قول نوشته شده توسط programersa مشاهده تاپیک
    سلام
    با تشکر از شما دوست محترم SYNDROME . بنده این کلمه را search کردم اما نتیجه نگرفتم .
    موفق باشید.
    به پستهای 5 و 6 این لینک نگاه کنید.
    https://barnamenevis.org/showthread.php?t=70061
    موفق باشید

  13. #13

    نقل قول: اضافه کردن ردیف در dbgrid به صورتي كه باحذف يا فيلتر مشكل پيدا نكنيم

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

  14. #14

    سئوال

    سلام يكي اضافه كردن رديف در wwdbgrid را طوري كه با حذف يك سطر مشكل پيدا نكنه بگه .با تشكر

  15. #15

    نقل قول: اضافه کردن ردیف در dbgrid

    در قسمت لیست query یک فیلد از نوع Calculate ایجاد کن، سپس آن فیلد را در DBGrid ایجاد کرده و بهد در رویداد GetText فیلد جدید کد زیر را وارد کن:

    Text := IntToStr(adoQuery.recNo)

  16. #16
    VIP آواتار دنیای دلفی
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    یک جایی توی جنوب ایران
    پست
    1,298

    نقل قول: اضافه کردن ردیف در dbgrid

    كليه اين روشها تا زماني كار ميكنند كه از جدول يا كوري فيلتر نگرفته باشيد كه اگر گرفته باشيد با شماره هاي نا منظم رديف مواجه خواهيد شد
    پس از دو سال بررسی بلاخره به بازار آمد
    متفاوت و هوشمندانه
    برای ورود کلیک کنید
    IMEN LOCK

  17. #17

    نقل قول: اضافه کردن ردیف در dbgrid

    سلام .
    من از این کد تو برنامه استفاده کردم و بدون مشکل کار میکنه .
     with Sender as TDBGrid do
    begin
    if DataSource.DataSet.RecNo > 0 then
    if Column.Index = 0 {First Column} then
    Canvas.TextOut(Rect.Left + 2, Rect.Top, IntToStr(DataSource.DataSet.RecNo));
    end;

    چطور میتونم این ستون رو در fastreport نشون بدم ؟
    ممنون

  18. #18
    کاربر دائمی
    تاریخ عضویت
    دی 1387
    محل زندگی
    اهواز
    پست
    924

    Question نقل قول: اضافه کردن ردیف در dbgrid

    نقل قول نوشته شده توسط xboycooper مشاهده تاپیک
    سلام .
    من از این کد تو برنامه استفاده کردم و بدون مشکل کار میکنه .
     with Sender as TDBGrid do
    begin
    if DataSource.DataSet.RecNo > 0 then
    if Column.Index = 0 {First Column} then
    Canvas.TextOut(Rect.Left + 2, Rect.Top, IntToStr(DataSource.DataSet.RecNo));
    end;

    چطور میتونم این ستون رو در fastreport نشون بدم ؟
    ممنون
    با تشکر
    این کد را در کدام رویداد نوشته اید؟ متشکرم

  19. #19

    نقل قول: اضافه کردن ردیف در dbgrid

    نقل قول نوشته شده توسط khoshblagh مشاهده تاپیک
    با تشکر
    این کد را در کدام رویداد نوشته اید؟ متشکرم
    در DrawColumnCell نوشتم . همونطور که دوستان توی صفحه قبل گفته بودن ...

  20. #20

    نقل قول: اضافه کردن ردیف در dbgrid

    نقل قول نوشته شده توسط xboycooper مشاهده تاپیک
    سلام .
    من از این کد تو برنامه استفاده کردم و بدون مشکل کار میکنه .
     with Sender as TDBGrid do
    begin
    if DataSource.DataSet.RecNo > 0 then
    if Column.Index = 0 {First Column} then
    Canvas.TextOut(Rect.Left + 2, Rect.Top, IntToStr(DataSource.DataSet.RecNo));
    end;
    چطور میتونم این ستون رو در fastreport نشون بدم ؟
    ممنون
    شرمنده ! به جای اون کار از دستور [Line#] توی Fast report استفاده کردم . کارم راه افتاد

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

  1. export dbgrid to excel وپرینت اطلاعات یک dbgrid
    نوشته شده توسط amir_rahimi در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: چهارشنبه 05 دی 1386, 08:37 صبح
  2. چگونگی استفاده از DBgrid به عنوان ورودی
    نوشته شده توسط zarin_web در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: سه شنبه 30 آبان 1385, 09:11 صبح
  3. کمک در باره dbgrid
    نوشته شده توسط babataher در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: پنج شنبه 28 اردیبهشت 1385, 18:04 عصر
  4. کمک فوری درباره DbGrid
    نوشته شده توسط babataher در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: پنج شنبه 28 اردیبهشت 1385, 07:38 صبح
  5. افزودن سطر به dbgrid
    نوشته شده توسط parisa2002 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: سه شنبه 26 اردیبهشت 1385, 18:12 عصر

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

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

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