ورود

View Full Version : سوال: رنگي شدن ستون مرورد نظر در گريد



masoud1345
یک شنبه 26 خرداد 1392, 13:12 عصر
كد را در لسيت باكس انتخاب مي كنم وسپس مكان نما در گريد من روي مورد جستجو شده مينشيند حال ميخواهم همان ستون يافت شده رنگ ان عوض شود لطفا راهنمايي فرماييد

amir.azimi2000
دوشنبه 27 خرداد 1392, 22:14 عصر
كد را در لسيت باكس انتخاب مي كنم وسپس مكان نما در گريد من روي مورد جستجو شده مينشيند حال ميخواهم همان ستون يافت شده رنگ ان عوض شود لطفا راهنمايي فرماييد

با سلام .

اگر منظورت اینه که رنگ "سطر" مورد نظر عوض بشه باید از خاصیتهای DynamicForeColor و DynamicBackcolor استفاده کنی .

موفق باشی .

javad_1349
پنج شنبه 30 خرداد 1392, 09:53 صبح
باسلام نمونه ذیل را نگاه کنید

oGrd = THISFORM.grdProducts


* Clear the current grid dynamic fore and back colors
*----------------------------------------------------
oGrd.SetAll("dynamicbackcolor", "", "Column")
oGrd.SetAll("dynamicforecolor", "", "Column")


DO CASE
CASE THIS.Value = 2 && Ledger
oGrd.SetAll("dynamicbackcolor", ;
"IIF(RECNO()%2 = 0,RGB(255,255,0), RGB(255,255,255))", "Column")
*----------------------------------------------------
CASE THIS.Value = 3 && RGB(192,192,192)discontinued items
oGrd.SetAll("dynamicforecolor", ;
"IIF(discontinu, RGB(192,192,192), RGB(0,0,0))", "Column")
*----------------------------------------------------
CASE THIS.Value = 4 && High Profit items
oGrd.SetAll("dynamicforecolor", ;
"IIF(Unit_price - Unit_cost > 5, RGB(255,255,255), RGB(0,0,0))", "Column")
oGrd.SetAll("dynamicbackcolor", ;
"IIF(Unit_price - Unit_cost > 5, RGB(255,0,0), RGB(255,255,255))", "Column")
*----------------------------------------------------
CASE THIS.Value = 5 && checkerboard
oGrd.SetAll("dynamicforecolor", "RGB(255,255,255)", "Column")
FOR i = 1 TO oGrd.ColumnCount
IF i % 2 = 0
oGrd.Columns(i).dynamicbackcolor = "IIF(RECNO()%2 = 0, RGB(255,0,0), RGB(0,0,0))"
ELSE
oGrd.Columns(i).dynamicbackcolor = "IIF(RECNO()%2 = 0, RGB(0,0,0), RGB(255,0,0))"
ENDIF
ENDFOR
*----------------------------------------------------
ENDCASE
oGrd.Refresh



موفق باشید

EBRAHIM_BANIHOSEINI
جمعه 07 تیر 1392, 21:23 عصر
من تو یه مورد مشابه این کار رو کردم جواب داد.
موقع ورود به فرم یه متغییر معرفی کردم و چون در ابتدای کار اشاره گر رکورد تو سطر اول هست مقدار او متغییر رو 1 دادم.
زمان جستجو مقدار اون متغییر مقدار ()recn رو به خودش میگرفت.
تو فرمم یه تایمر گذاشتم و تو رویداد timer اون فرامین زیر را گذاشتم:
() if !eof
SKIP
THISFORM.Grid1.SetAll("dynamicforecolor", "IIF(selol=RECNO(), RGB(250,0,0), RGB(0,0,0))", "COLUMN")
SKIP -1
ENDIF
مغییر selol همان متغییریه که گفتم.

ح.حاج حسینی
پنج شنبه 13 تیر 1392, 21:21 عصر
سلام اگر گریدت جهت نمایش اطلاعات است نه ورود اطلاعات هیچ احتیاجی به موارد بالا نیست فقط باید AllowCellSelection گرید را مساوی f قرار بدهید یا در متد
int فرم بنویسید

.thisform.grid1.AllowCellSelection=.f

ح.حاج حسینی
پنج شنبه 13 تیر 1392, 21:24 عصر
آقا ببخشید فکر کردم می خواهید تمام ستونهای یک ردیف یک رنگ باشد دستور بالا جهت مورد فوق کاربرد دارد