View Full Version : چطوری یک فیلد در گرید بر اساس یک شرط خاص فقط خواندنی بشه؟
ابی بنی حسینی
چهارشنبه 15 خرداد 1387, 19:44 عصر
خدمت سروران عزیز با سلام
دو سئوال داشتم امیدوارم با راهنمایی شما به جواب برسم.
1) در یک گرید اگه فیلد یک بزرگتر از صفر بود کاربر بتونه فیلد دو را تغییر بده وگرنه فیلد دو فقط خواندنی باشه.
2) یک فیلد خاص رو چطوری میشه حالت free بهش داد تا کاربر نتونه به فیلدهای دیگه بره؟ متشکرم
ابی بنی حسینی
جمعه 17 خرداد 1387, 08:28 صبح
آقایون کسی نبوووووووووووووود؟
rezamim
جمعه 17 خرداد 1387, 12:19 عصر
ميتوني از دستور زير استفاده كني. البته اول در ستون مورد نظرت يه تكست باكس ديگه اضافه كن و اونو ReadOnly يا بنظر من Disabled كن
thisform.grid1.column2.DynamicCurrentControl = [IIF(EMPTY(MyFld),"Text1","Text2")]
rezamim
جمعه 17 خرداد 1387, 16:58 عصر
براي FREEZE كردن هم اينو درست كردم. ابتكاريه شايد جور بهتري هم بشه
اگه گريدت 3 ستون داشته باشه و بخواي ستون 2 Freeze بشه:
توي Init گريد دستور زيرو بزار
this.ActivateCell(1,2)
و توي AfterRowColChange دستور زير
LPARAMETERS nColIndex
IF this.ActiveColumn <> 2
this.ActivateCell(this.ActiveRow,2)
ENDIF
توي KeyPress تكست باكس مربوط به ستون مورد نظرت دستور زير
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode = 13
NODEFAULT
KEYBOARD '{DNARROW}'
ENDIF
نخندين ها !!
ابی بنی حسینی
شنبه 18 خرداد 1387, 12:08 عصر
آقا رضا دمت گرم. مشکل حل شد. بازم ممنون.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.