PDA

View Full Version : یک روال و یک راهکار برای vsflex8 ?



j.farazani
شنبه 03 مرداد 1388, 23:43 عصر
سلام
می خوام در vsflex8 زمانی که sort صورت میگیره یه عکس برای مرتب از بالا به پایین و یه عکس هم برای مرتب از پایین به بالا به سرستونی که کاربر کلیک می کنه اختصاص بدم .

در Datagrid روال headClick وجود داشت که اشاره به زمانی داشت که کاربر بر روی سر ستون کلیک میکنه .
حالا دو تا سوال:

این روال (HeadClick) در vsflex8 چیه ؟

برای مقایسه این دو عکس (مرتب سازی) باید اونها رو باهم مقایسه کرد راه مقایسه دو عکس با هم چیه؟

ممنون

xxxxx_xxxxx
یک شنبه 04 مرداد 1388, 00:01 صبح
از رويدادهاي AfterSort و BeforeSort كمك بگيريد.

sohrab o
یک شنبه 04 مرداد 1388, 02:35 صبح
من هم در برنامه های مختلفی که گرافیک بالایی دارن دیدم که Head مربوط به Grid را برمیدارن و خودشون از تعدادی Button استفاده میکنند بعضی ها هم از تعدادی Picture بطوری استفاده میکنند که کاربر متوجه نمیشه که بر روی چیزی غیر ار Head کلیک کرده

HjSoft
یک شنبه 04 مرداد 1388, 08:58 صبح
براي تفهيم بيشتر در رابطه با گفته دوستمون مي تونيد اين عكس رو ببينيد . كه از Button در اون استفاده شده .البته براي DataGrid هست ، اما براي vsflex هم ميشه استفاده كرد . در ضمن با اين تكنيك ظاهر گرافيكي تر و يك پارچه تري رو ايجاد مي كنيد .

kama2222
یک شنبه 04 مرداد 1388, 09:04 صبح
با سلام
اما متاسفانه با قراردادن عكس روي header ستون ديگر قابليت resiaze را براي ستون نداريم.
لطفاً يك راهكار ارائه نمائيد.

mpmsoft
یک شنبه 04 مرداد 1388, 09:46 صبح
خود VS این آیکون رو داره دیگه برای چی می خواهید خودتونم بذارید ؟

sohrab o
یک شنبه 04 مرداد 1388, 11:52 صبح
با سلام
اما متاسفانه با قراردادن عكس روي header ستون ديگر قابليت resiaze را براي ستون نداريم.
لطفاً يك راهكار ارائه نمائيد.

با هم راهی هست
این ارها تکنیک های برنامه نویسیه دیگه
میتونی وقتی Col هات Resize میشه عکس ها رو Resize کنی
میتونی خصوصیت Resize غیر فعال کنی
میتونی Button بزاری و اونو resize کنی
و هزاران راه دیگه ، اگر نامفهوم بود بفرمایید توضیح بیشتر بدم

j.farazani
یک شنبه 04 مرداد 1388, 14:44 عصر
با تشکر از همه دوستان عزیزم
پروژه ، ساخت گزارش ساز با کریستال ریپورت هست .

ستونها به صورت داینامیک از DataDictionary پر می شوند در نتیجه نمیشه از Button روی Header ستونها استفاده کرد .

در رابطه با مقایسه دو عکس نظرتون چیه ؟

کمکی میتونید بکنید؟



از رويدادهاي AfterSort و BeforeSort كمك بگيريد.
متوجه نمیشم وقتی کاربر روی head کلیک میکنه باید روالی وجود داشته باشه که فایر بشه


خود VS این آیکون رو داره دیگه برای چی می خواهید خودتونم بذارید ؟

میشه بیشتر توضیح بدید؟

kama2222
یک شنبه 04 مرداد 1388, 15:55 عصر
به دليل اينكه اگر در حالت unbound و با خصوصيت explorer سورت را انجام دهي هنگام ارسال گريد به گزارش، سورت گريد با سورت ديتابيس و در نهايت بانك داده متفاوت مي باشد.و اين يك ضعف است.

j.farazani
دوشنبه 05 مرداد 1388, 13:10 عصر
کسی نیست؟

یه کمکی بکنید!!!!!

mpmsoft
دوشنبه 05 مرداد 1388, 15:41 عصر
دوست عزیز شما DataMode رو برابر 0 کن و همچنین ExplorerBar رو هم به 5 تغییر بده

و بعد از کلیک روی هدر ها و در رویداد AfterSort بصورتی دستی باید اطلاعات Rs رو هم سورت کنی و به کریستال پاس بدی

kama2222
دوشنبه 05 مرداد 1388, 16:03 عصر
چطور مي توانم ستون خاصي را انتخاب كنم كه بعد از after sort بر اساس داده ستون خاصي سورت گردد. خواهشمندم نمونه كوچك كدي بنويسيد.

mpmsoft
دوشنبه 05 مرداد 1388, 17:27 عصر
اینو از یگی از پروژه هام کپی کردم امیدوارم مفهموم باشه



Private Sub VS_AfterSort(ByVal Col As Long, Order As Integer)
LastSort = "[" & VS.TextMatrix(0, Col) & "]" & IIf(Order = 1, " ASC", " DESC")
RsCore.Sort = LastSort
End Sub

vbhamed
دوشنبه 05 مرداد 1388, 19:24 عصر
سلام


Private Sub Form_Load()

VSFlexGrid1.RowHeight(0) = 350

End Sub

Private Sub VSFlexGrid1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

With VSFlexGrid1

If Y <= .RowHeight(0) Then
.Cell(flexcpPicture, 0, 0, 0, .Cols - 1) = LoadPicture()
.Cell(flexcpData, 0, 0, 0, .Col - 1) = 0
.Cell(flexcpPicture, 0, .Col) = IIf(.ColData(.Col), Image1.Picture, Image2.Picture)
.Cell(flexcpPictureAlignment, 0, .Col) = flexPicAlignCenterCenter
.ColData(.Col) = Not .ColData(.Col)
End If

End With

End Sub