صفحه 3 از 3 اولاول 123
نمایش نتایج 81 تا 89 از 89

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

  1. #81

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

    با سلام خدمت دوستان
    يه مشكلي تو رنگي كردن DBgrid دارم.
    كلا وقتي رو خاصيت DrawColumnCell تو قسمت Event دابل كليك ميكنم ميره پروسيژورش رو اتوماتيك ايجاد ميكنه و حالا كه كدها رو نوشتم و كامپايل كردم از خود پروسيژور اين ارور رو ميگيره.
    [dcc32 Error] Unit3.pas(113): E2003 Undeclared identifier: 'TRect'

    از تعريف پروسيژور تو Type از اين خط:
        procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
    DataCol: Integer; Column: TColumn; State: TGridDrawState);

    تو سايت هاي خارجي گشتم يه چيزايي نوشته بود گفته بود بايد فايل pas‌يا dcu‌رو تو مسير گتابهانه بذاري. (يه همچين چيزايي )

  2. #82

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

    سلام.
    مشکل شما قدری عجیبه. بعید می دونم اشکال مربوط به اینجایی باشه که گفتید. بررسی کنید ببینید اشتباهی به جای Rect جایی ننوشتید TRect ؟
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  3. #83

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

    نقل قول نوشته شده توسط You-See مشاهده تاپیک
    سلام.
    مشکل شما قدری عجیبه. بعید می دونم اشکال مربوط به اینجایی باشه که گفتید. بررسی کنید ببینید اشتباهی به جای Rect جایی ننوشتید TRect ؟
    با تشكر از جوابتون
    من جايي از ract يا TRect استفاده نكردم. فقط تو تعريف خود پروسيژور هست.

  4. #84

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

    Windows رو در یوزز بیاورید دوباره چک کنید.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  5. #85

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

    نقل قول نوشته شده توسط You-See مشاهده تاپیک
    Windows رو در یوزز بیاورید دوباره چک کنید.
    مرسي از جوابتون.
    اون مشكل حل شد ولي حالا اين اين خطوط ارور ميگيره.
      if ((ADOQuery1.FieldByName('taeed').Value = '0') or (ADOQuery1.FieldByName('taeed').Value = '')) then
    (Sender as tdbgrid).Canvas.Brush.Color :=clWhite; //or any color
    if ADOQuery1.FieldByName('taeed').Value = '1' then
    (Sender as tdbgrid).Canvas.Brush.Color := clblue; //or any color
    if ADOQuery1.FieldByName('taeed').Value = '2' then
    (Sender as tdbgrid).Canvas.Brush.Color := clTeal; //or any color

    (Sender as tdbgrid).Canvas.FillRect(Rect);
    (Sender as tdbgrid).DefaultDrawColumnCell(Rect, DataCol, Column, State);

    اين پيام خطا مياد كه موندم چه ربطي داره آخه.
    Could not convert variable of type (UnicodeString) into type (Double)

  6. #86

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

    مقادیر عددی چرا کوتیشن دارند؟
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  7. #87
    کاربر تازه وارد آواتار grand_ceasare
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    مشهد
    پست
    33

    Drag & Drop سطرهای یک DBGrid

    برای جابجایی یک سطر از DBGrid از کد زیر استفاده کنید :
    متغیر های زیر رو به یونیتتون اضافه کنید:

    var

    Form1: TForm1;
    .
    .
    .
    Pt: TGridCoord;
    First,Last:integer;
    FirstRec,LastRec:String;
    .
    .
    .
    implementation

    {$R *.dfm}


    در رویداد OnMouseMove ءDBGrid کدهای زیر را اضافه کنید:

    if ssLeft in Shift then

    begin
    dbgrid1.BeginDrag(true);
    First:=Pt.y;
    end;


    و در رویداد OnDragOver ءDBGrid نیز :

    pt:= dbGrid1.MouseCoord( x, y ) ;

    Last:=Pt.y;


    و در پایان در رویداد OnDragDrop ءDBGrid یک متغیر از نوع Integer تعریف میکنیم و سپس کد زیر را مینویسیم :
     i : Integer;



    if (First>0) and (First<>Last) then

    begin
    FirstRec:='';
    for i:=1 to Table1.FieldCount-1 do FirstRec:=FirstRec+Table1.Fields[i].AsString+'|';

    Table1.MoveBy(Last-First);

    LastRec:='';
    for i:=1 to Table1.FieldCount-1 do LastRec:=LastRec+Table1.Fields[i].AsString+'|';

    for i:=1 to Table1.FieldCount-1 do
    begin
    Table1.Edit;
    Table1.Fields[i].AsString:=Copy(FirstRec,1,Pos('|',FirstRec)-1);
    Delete(FirstRec,1,Pos('|',FirstRec));
    Table1.Post;
    end;

    Table1.MoveBy(First-Last);

    for i:=1 to Table1.FieldCount-1 do
    begin
    Table1.Edit;
    Table1.Fields[i].AsString:=Copy(LastRec,1,Pos('|',LastRec)-1);
    Delete(LastRec,1,Pos('|',LastRec));
    Table1.Post;
    end;

    Table1.MoveBy(Last-First);
    end;


    همونطور که میبینین در این کد از Table برای اتصال به بانک استفاده شده , شما اگر از AdoQuery استفاده میکنین , در همین تابع آخر , هرجا Table بود کافیه به جاش نام ADOQueryتون رو قرار بدین.
    موفق باشین.

  8. #88

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

    سلام


    من از کامپوننت Ehlib تو برنامم استفاده میکنم

    میخواستم بدونم چطور میشه تعداد کاراکتر های ورودی رو توی DBGRID کنترل کرد که از یه مقداری بیشتر نشه

    چون داخل برنامه ارور نشون میده به کاربر.

  9. #89

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

    سلام دوستان، من یه سوال داشتم، ممنون میشم اگه جواب بدید، من میخوام عنوان جدولم(dbgrid) فارسی باشه، جدول وقتی به adotable وصل باشه میشه این کارو کرد ولی وقتی به ado query وصل باشه و هر بار جدول رو clear کرد چه جوری title رو فارسی کنم؟ در ضمن دیتابیسم حتما باید انگلیسی باشه

صفحه 3 از 3 اولاول 123

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

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

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