PDA

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 عصر
آقا رضا دمت گرم. مشکل حل شد. بازم ممنون.