PDA

View Full Version : سوال: چگونه ستون خاصي را در vsflexgrid به حالت edit ببريم ؟



aminpprog
دوشنبه 23 اسفند 1389, 13:34 عصر
خسته نباشيد دوستان :
سوالي داشتم لطفا راهنماييم نماييد :
زماني كه شئ vsflexgrid در حالت غير قابل ويرايش است چگونه مي توان ستون خاصي (و همچنين سلول خاصي) را در آن به حالت edit برد؟

knight-rak
دوشنبه 23 اسفند 1389, 22:47 عصر
منظورتون از حالت ویرایش چی هست ؟؟؟؟
انتخاب کردن ستون مد نظرتون هست یا نه چیز دیگه ای ؟

موفق باشید ....

aminpprog
دوشنبه 23 اسفند 1389, 23:48 عصر
منظور من اين است كه : در هنگام اجراي برنامه زماني كه كل جدول در حالتي قرار دارد كه نمي توان آن را ويرايش كرد با استفاده از كدام كد بتوان ستون خاصي را در حالت ويرايش قرار داد ؟

knight-rak
سه شنبه 24 اسفند 1389, 00:01 صبح
اگر منظور شما تغییر مقدار های قرار گرفته درون هر فیلد ستون هست باید به روش زیر عمل کرد :

ms1.col=3
ms1.row=1
ms1.text="test"

این کد خط اول تعیین میکنه که ستون سوم درحالت انتخاب شده باشه برای مقدار دهی و خط دوم سطر اول رو برای مقدار دهی انتخاب میکنه
که فقط یه فیلد انتخاب میشه و بعد با خط 3 به اون مقدار میدیم

برای تعییم تعداد ستون ها و سطر ها هم توی کد نویسی با دو خط زیر کار میشه
ms1.rows=5
ms1.cols=4

موفق باشید ....

niko2008
سه شنبه 24 اسفند 1389, 10:55 صبح
دوست عزیز برای رنگی کردن یه cell خاص چکار باید کرد؟

hrj1981
سه شنبه 24 اسفند 1389, 13:06 عصر
ابتدا بايد به سلول خودتون فوكوس كنيد سپس رويداد زير رو فرخواني كنيد
VSFlexGrid1.EditCell
براي تغير رنگ سلول هم از رويداد زير استفاده كنيد .منظور از R شماره سطر و C شماره ستون مي باشد
VSFlexGrid1.Cell(flexcpBackColor ,R,C)=كد رنگ

توضيح اينكه براي رنگ يك ستون خاص ميتونيد كد بالا را داخل يك حلقه FOR بزاريد و مقدار C رو ثابت بذاريد و مقدار R رو با يك متغيير Long تغيير بديد.
مثلا ستون 2
dim L as long
L=0
For l=l+1 to (VSFlexGrid1.Rows-1)
VSFlexGrid1.Cell(flexcpBackColor ,L,2)=كد رنگ
Next

niko2008
سه شنبه 24 اسفند 1389, 13:21 عصر
ابتدا بايد به سلول خودتون فوكوس كنيد سپس رويداد زير رو فرخواني كنيد
VSFlexGrid1.EditCell
براي تغير رنگ سلول هم از رويداد زير استفاده كنيد .منظور از R شماره سطر و C شماره ستون مي باشد
VSFlexGrid1.Cell(flexcpBackColor ,R,C)=كد رنگ

توضيح اينكه براي رنگ يك ستون خاص ميتونيد كد بالا را داخل يك حلقه FOR بزاريد و مقدار C رو ثابت بذاريد و مقدار R رو با يك متغيير Long تغيير بديد.
مثلا ستون 2
dim L as long
L=0
For l=l+1 to (VSFlexGrid1.Rows-1)
VSFlexGrid1.Cell(flexcpBackColor ,L,2)=كد رنگ
Next


دوست عزیز منظورم من رنگی کردن مثلا سطر 1 و ستون 2 یعنی یه سلول خاصه؟

aminpprog
سه شنبه 24 اسفند 1389, 13:22 عصر
بسيار از راهنمايي شما ممنونم اما هدف من اين نبود كه سلول خاصي را (آن هم شخص برنامه نويس) مقداردهي كند بلكه هدف من اين است كه در ستون مورد نظر (كه در اينجا ستوني است كه حاوي چك باكس است) و در حين اجراي برنامه كاربر قادر باشد آن ستون را ويرايش كند يعني چك باكس ها را تيك بزند يا تيك آنها را بردارد (فراموش نشود كه فرض براين است كه كل جدول در حالتي قرار دارد كه نمي توان آن را ويرايش كرد)

vbhamed
سه شنبه 24 اسفند 1389, 16:13 عصر
سلام


With vsFlexGrid1
.Row = 1
.Col = 2
.EditCell
End With

aminpprog
سه شنبه 24 اسفند 1389, 23:51 عصر
از راهنمايي شما بسيار ممنونم

aminpprog
چهارشنبه 25 اسفند 1389, 23:55 عصر
با سلام خدمت دوستان :
دوست عزيزم جناب آقاي vbhamed خسته نباشيد ، شما در پست 9 ام كدي را كه نوشته بوديد تست كردم اما اين كد فقط سلول مذكور را به حالت ويرايش مي برد (آنهم به شكل موقتي يعني بعد از رويداد Lost Focus از اين سلول و بازگشت دوباره به اين سلول ديگر خبري از حالت ويرايش در اين سلول نيست) در حالي كه قصد من اين است كه كد مورد نظر ستون مذكور را به شكل دائمي يعني در طول مدت حيات فرم در حالت ويرايش باشد. حال تقاضا دارم قطعه كد جديدي را معرفي كنيد كه كل ستون را يكجا به حالت ويرايش ببرد .
با تشكر و سپاس

vbhamed
پنج شنبه 26 اسفند 1389, 09:07 صبح
سلام

مثلا براي ستون 2


Private Sub VSFlexGrid1_EnterCell()

If VSFlexGrid1.Col = 2 Then VSFlexGrid1.EditCell

End Sub

aminpprog
جمعه 05 فروردین 1390, 10:26 صبح
با سپاس از راهنمايي شما