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

نام تاپیک: تغییر عرض ستونهای DBGrid

  1. #1
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    109

    تغییر عرض ستونهای DBGrid

    سلام به همه دوستان
    می خواهم وقتی روی کناره ی عنوان ستون DBGrid دوبار کلیک می کنم عرض آن ستون با توجه به ماکسیمم داده ای که در ان ستون وارد شده است باز و بسته شود. (یعنی عرض ستون با توجه به داده های موجود در آن فیلد، حالت AutoSize داشته باشد)
    چگونه اینکار را انجام دهم ؟

  2. #2
    از کد زیر برای بدست آوردن عرض هر ستون کمک بگیرید

    function GetColumnWidth(AGrid: TStringGrid; Col: Integer): Integer;
    var
    i: Integer;
    begin
    Result := 0;
    with AGrid do
    for i := 0 to RowCount - 1 do
    if Result < Canvas.TextWidth(Cells[Col, i]) then
    Result := Canvas.TextWidth(Cells[Col, i]);
    end;


    یک حاشیه 5 پیکسلی هم میتونه کمک کنه.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    109
    خيلي خيلي متشكرم.
    ولي من StringGrid ندارم. DBGrid دارم.
    ولي به هر حال از ايده اي كه داديد ممنونم . چنين كاري رو در DBGrid هم انجام دادم. ولي فكر مي كردم راه سريعتري براي اينكار در مشخصات خود كامپوونت وجود داشته باشه (چون وقتي تعداد ركوردها زياد است تاخير كار به چشم مي آيد !!)
    آخرین ویرایش به وسیله SADAF : سه شنبه 10 اردیبهشت 1387 در 15:09 عصر

  4. #4
    حق با شماست. اين جوري اصلاحش کنيد

    function GetColumnWidth(AGrid: TCustomGrid; Col: Integer): Integer;
    var
    i: Integer;
    begin
    Result := 0;
    with AGrid do
    for i := TopRow to TopRow + VisibleRowCount - 1 do
    if Result < Canvas.TextWidth(Cells[Col, i]) then
    Result := Canvas.TextWidth(Cells[Col, i]);
    end
    ;

  5. #5
    TopRow, VisibleRowCount و چیست. لطفا توضیح دهید. و تشکر از زحماتتون

  6. #6
    به Help دلفی مراجعه کنید خوب توضیح داده.

    TopRow شماره اولین سطری از یک CustomGrid که دیده میشه. VisibleRowCount تعداد سطرهایی از CustomGrid که دیده میشن.

  7. #7
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    109
    متشكرم.
    ولي TCustomGrid مشخصه Cells نداره !

  8. #8
    مزش به همينه ديگه!

    مهم اينه که با يک تغيير کوچيک کار ميکنه. کافيه بجاي همين TCustomGrid يا TStringGrid بذاريد يا TDBGrid...

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

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