PDA

View Full Version : مشکل در VSFlexGrid



isaac23
پنج شنبه 21 اسفند 1393, 18:14 عصر
سلام دوستان خسته نباشید


من واسه نمایش اطلاعات توی برنامه از VSFlexGrid استفاده می کنم الان یه مشکلی داره اینکه
مثلا یه دکمه بزارم بگم برو رو ردیف 5 و اون ردیف به حالت انتخاب در بیاد و رنگش هم عوض بشه

یه DataCombo دارم که اسم اشخاص توش نمایش داده میشه وقتی اونو باز میکنم و نام شخص رو جستجو کنم با کلیک روی اون و یا اینتر بره روی نام اون شخص و به حالت انتخاب در بیاد و رنگش عوض بشه

نیازی فوری ممنون میشم راهنمائی کنید .

از Adodc استفاده میکنم، نمونه کد استفاده شده :
On Error Resume Next
If KeyAscii = 13 Then
Adodc1.Recordset.Move Str(DataCombo1.SelectedItem - 1)
Adodc1.Refresh
End If

vbhamed
دوشنبه 25 اسفند 1393, 12:59 عصر
سلام
با خاصیت Row کنترل vsFlex می‌تونید به سطر دلخواه برید که شمارش از 0 شروع میشه و برای سطر پنجم میشه 4
برای حالت انتخاب و تغییر رنگ سطر هم خاصیت SelectionMode رو روی گزینه 1 تنظیم کنید

isaac23
سه شنبه 26 اسفند 1393, 08:28 صبح
سلام و خسته نباشید
در مورد کدی که گفتید درست عمل میکنه تنها ایرادی که داره اینکه :

زمانی که من بخوام ردیف رو مثلا به ردیف 50 ببرم این کار انجام میشه ولی اسکرول بار اون عمل نمیکنه و باید از طریق دستی اون رو بکشی پایین و اون ردیفی که رنگش عوضش شده رو پیدا کنم

خدا کنه متوجه شده باشید .

من می خوام زمانی که این کار انجام شد اتوماتیک بره و انتخاب بشه دیگه نخوام بصورت دستی بیام و اون ردیف رو پیدا کنم .

hrj1981
سه شنبه 26 اسفند 1393, 11:08 صبح
از متد showcell خود گرید استفاد کن
بهش مقدار سطر و ستون رو بده اتوماتیک میره به اون سطر
VSFlexGrid1.showcell (1,1)

isaac23
سه شنبه 26 اسفند 1393, 15:46 عصر
میشه یه نمونه چیزی مثال بهتری بدید من که هر کاری کردم این ردیف جابجا نشد

vbhamed
سه شنبه 26 اسفند 1393, 16:53 عصر
سلام
دستوری که دوستمون گفتن کاملا درسته و چیز خاصی نیست که مثال بخواد
ضمنا با خاصیت TopRow هم می‌تونید تعیین کنید اولین سطر Grid کدوم سطر باشه، اینطوری می‌تونید مثلا طوری اون رو تنظیم کنید که سطر مورد نظر رو در وسط Grid از لحاظ ارتفاع ببینید و ابتدا یا انتها نیفته البته اگر داخل Grid به تعداد کافی رکورد موجود باشه
فرض کنید Grid شما 100 سطر داره و قراره به سطر 70 برین، ضمنا ارتفاع گراید به مقداریه که می‌تونه 10 رکورد رو همزمان نشون بده حالا اگر به خاصیت TopRow مقدار 65 رو بدین و به خاصیت Row مقدار 69، اونموقع در سطر 70 قرار دارید و این سطر تقریبا در وسط گراید نمایش داده میشه

isaac23
چهارشنبه 27 اسفند 1393, 09:06 صبح
میشه یه نمونه سورس قرار بدین ممنون میشم... من که هر کاری کردم نشد

vbhamed
چهارشنبه 27 اسفند 1393, 09:27 صبح
سلام
یه مقدار بیشتر تلاش کنید حتما میشه !