PDA

View Full Version : مشکل با ScrollBar در DBGrid در دلفی XE2



عقاب سیاه
جمعه 20 آبان 1390, 12:19 عصر
سلام
همون جور که توی عکس ها معلومه

77720
77718
77719

یعنی به صورت معملوی یا وقتی نرم افزار را باز می کنی ScrollBar هست ولی وقتی همه اطلاعات را باهم یا حنی رکورد ها را تک تک پاک می کنم ScrollBar غیب می شه و باید نرم افزار را ببندی و باز کنی تا دوباره باید!

در ضمن از ADO استفاده کردم برای بانک اطلاعات (اکسس)


ممنون از پاسختون

عقاب سیاه
جمعه 20 آبان 1390, 16:58 عصر
در ضمن بگم با تمام گرید ها همین مشکل را دارم فقط ماله این یک گرید نیست!

vcldeveloper
جمعه 20 آبان 1390, 23:17 عصر
فقط در حالتی که گرید راست-به-چپ هست این مشکل رو دارید یا اینکه در حالت چپ-به-راست هم همین مشکل هست؟

zidane
شنبه 21 آبان 1390, 11:03 صبح
تا جایی که من میدونم این مشکل توی ورژن های قبلی هم بوده. من یک بار توی فروم های خارجی دنبال راه حل گشتم و آخرش به این راه رسیدم که هر بار که اطلاعات DBGrid رفرش میشن از DBGrid.Width یکی کم و یکی بهش اضافه کنید تا اسکرول بار درست نمایش داده بشه!

عقاب سیاه
شنبه 21 آبان 1390, 15:31 عصر
ممنون


فقط در حالتی که گرید راست-به-چپ هست این مشکل رو دارید یا اینکه در حالت چپ-به-راست هم همین مشکل هست؟
بله در هر دو حالت همین مشکل هست!


تا جایی که من میدونم این مشکل توی ورژن های قبلی هم بوده. من یک بار توی فروم های خارجی دنبال راه حل گشتم و آخرش به این راه رسیدم که هر بار که اطلاعات DBGrid رفرش میشن از DBGrid.Width یکی کم و یکی بهش اضافه کنید تا اسکرول بار درست نمایش داده بشه!
خیلی ممنون مشکلم این طوری حل شد

یعنی این مشکل ماله خوده دلفی؟

vcldeveloper
شنبه 21 آبان 1390, 22:16 عصر
یعنی این مشکل ماله خوده دلفی؟
بله، ظاهرا آقایون در هنگام تغییر در سورس کدهای دلفی یا اضافه کردن قابلیت های جدید به کامپوننت های موجود یا اضافه کردن کامپوننت جدید، کمترین توجه ایی به پشتیبانی از راست-به-چپ ندارند؛ گمان نکنم در اون شرکت حتی تستی برای سازگاری با راست-به-چپ صورت بگیره. برای همین هم هست که وقتی گفتیم FireMonkey با راست-به-چپ مشکل داره، و یک آماری از جمعیت مردمی که زبان رسمی شان راست-به-چپ هست دادیم، انگار تازه یکی این شرکت را از خواب بیدار کرده باشه! تازه یادشان افتاده که اِ اِ اِ ... باید پشتیبانی از راست-به-چپ هم داشت! پشتیبانی راست-به-چپ فعلی هم از صدقه سر ویندوز و طراحان اولیه دلفی هست.

عقاب سیاه
شنبه 21 آبان 1390, 22:32 عصر
خوب آقای کشاورز حق با اونا نیست؟
ما که همین جوری با 2000 تومن این محصول را می خریم و نصب می کنیم نباید انتظار پشتیبانی داشته باشیم به خدا!!
ببخشید قیمت XE2 واقعیش چقدره؟

سعید صابری
شنبه 21 آبان 1390, 22:43 عصر
خوب آقای کشاورز حق با اونا نیست؟
ما که همین جوری با 2000 تومن این محصول را می خریم و نصب می کنیم نباید انتظار پشتیبانی داشته باشیم به خدا!!
ببخشید قیمت XE2 واقعیش چقدره؟
نه نیست.

تنها ما نیستیم که زبانمون از راست به چپ هست خیلی از کشورهای دیگر هم هست اونها که 2000 تومن نمیخرند؟

عقاب سیاه
شنبه 21 آبان 1390, 22:52 عصر
ممنون
بله معذرت می خوام و به گفته ی آقای کشاورز 400 میلیون نفر در 30 کشور جهان ار راست به چپ زبانشون!
اما نگفتین قیمت اصلی دلفی چقدره؟

بعد هم من تست کردم در دلفی 2010 هم همین مشکل وجو داشت والبته توی چپ به راست و راست به چپ مشکل همچنان هست>

سعید صابری
شنبه 21 آبان 1390, 23:31 عصر
ممنون
بله معذرت می خوام و به گفته ی آقای کشاورز 400 میلیون نفر در 30 کشور جهان ار راست به چپ زبانشون!
اما نگفتین قیمت اصلی دلفی چقدره؟

بعد هم من تست کردم در دلفی 2010 هم همین مشکل وجو داشت والبته توی چپ به راست و راست به چپ مشکل همچنان هست>

البته بخشید دوست عزیز
من قصد اساعه ادب نداشتم. ولی دیدم در حق 400 میلیون ممکنه جفا بشه!
در مورد قیمت دلفی اولا برای شما قابل نداره و ... . اگه قصد خرید داری لیست تمام قیمت هاش در لینک زیر هست.


http://store.embarcadero.com/store/embt/en_US/DisplayCategoryProductListPage/categoryID.52086700

عقاب سیاه
شنبه 21 آبان 1390, 23:41 عصر
خواهش میکنم ولی
$3,499.00 پول چقدر پوله؟؟؟!!! آقا من همون 2000 تومن را ترجیح می دم ممنون :)
خوبه شرکت امبرکادرو (اگه درست ننوشتم خداوکلی مسخرم نکن) ماله شما نیست با این بزل و بخششتون!
ممنون

a_kalampolo
چهارشنبه 02 آذر 1390, 10:21 صبح
دوستان به جای اینکه خاشیه پردازی کنید مشکل همدیگه رو حل کنید :)
این مشکل در تمامی نسخه های دلفی وجود داره. من با یک تغییر کوچک در کامپونت گرید این مشکل رو برای خودم حل کردم. این کامپوننت رو نصب کنید همون کامپوننت dbgrid هستش که مشکلش حل شده. البته من این رو توی دلفی 2005 نوشته بودمش. برای xe2 نمی دونم درست عمل کنه یا نه. علاوه بر اون رویداد onmouseenter و onmouseexit هم داره برای هایلایت کردن گرید وقتی با موس میرین روش رو هم داراست:


unit AFBDBGrid;

interface

uses
SysUtils, Classes, Controls, Grids, DBGrids,stdCtrls, messages;

type
TAFBDBGrid = class(TDBGrid)
private
MouseAct:Boolean;
FmouseEnter:TNotifyEvent;
FmouseExit:TNotifyEvent;
{ Private declarations }
protected
procedure MouseEnter (var Msg:Tmessage);message cm_mouseEnter;
procedure MouseLeave (var Msg:Tmessage);message cm_mouseleave;

{ Protected declarations }
public
constructor Create (Owner: TComponent); override;
published
property MouseAction:Boolean read MouseAct write MouseAct default False;
property OnMouseEnter:TNotifyEvent read FMouseEnter write FMouseEnter;
property OnMouseExit:TNotifyEvent read FMouseExit write FMouseExit;
property ScrollBars;
property BorderStyle;
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('AFB', [TAFBDBGrid]);
end;

constructor TAFBDBGrid.Create(Owner: TComponent);
begin
inherited Create (Owner);
Scrollbars:=ssNone;
end;

procedure TAFBDBGrid.MouseEnter (var Msg:Tmessage);
begin
inherited;
if MouseAct=true then bevelkind:=bkFlat;
if assigned(FmouseEnter) then FmouseEnter(self);

end;

procedure TAFBDBGrid.Mouseleave (var Msg:Tmessage);
begin
inherited;
if MouseAct=true then bevelkind:=bkNone;
if assigned(FMouseExit) then FMouseExit(self);
end;


end.

امیدوارم به دردتون بخوره.