الانتقال إلى المحتوى

المساعدة فى كتابة كود لتغيير الالوان حسب شرط


the past

Recommended Posts

السلام عليكم ورحمة الله وبركاته


انا عندي filed فيه مجموعة بيانات مثلا : احمد . محمد . علي



اريد في الفورم اضع كود when_new_form_instance



اذا كان احمد ضع لونه (احمر) محمد (اخضر) علي ( اسود)



كيف اكتب الكوود

وشكرا

رابط هذا التعليق
شارك

سهلة يا بشمهندس

حضرتك بس تعمل Visual Attributte
واحدة باللون الاحمر
والثانية باللون الاخر
والثالثة باللون الاحمر

الكود بقى

IF :BLOCK.ITEM='AHMED' THEN 
SET_ITEM_PROPERTY(:BLOCK.ITEM,VISUAL_ATTRIBUTE,VISUAL_ATTRIBUTE_NAME);
ELSIF :BLOCK.ITEM='MOHAMED' THEN
SET_ITEM_PROPERTY(:BLOCK.ITEM,VISUAL_ATTRIBUTE,VISUAL_ATTRIBUTE_NAME2);
ELSE
SET_ITEM_PROPERTY(:BLOCK.ITEM,VISUAL_ATTRIBUTE,VISUAL_ATTRIBUTE_NAME3);
END IF;

رابط هذا التعليق
شارك

انا كتابة الكود ومفيش اوراكل على الجهاز دلوقتى علشان اجربها لحضرتك او اعملك فورمة تشوفها
بس يارب تبقى الفكرة وصلت
والله المستعان

تم تعديل بواسطة DOMSSA
رابط هذا التعليق
شارك

ماشى طيب انت عاوز تغير لون الفبلد نفسة و لا اية
انت ممكن تعمل ذى ما DMOASS قال
بس هو فى غلطة فى الكود
متكتبش

SET_ITEM_PROPERTY(:BLOCK.ITEM,VISUAL_ATTRIBUTE,VISUAL_ATTRIBUTE_NAME);


اكتب

SET_ITEM_PROPERTY('BLOCK.ITEM',VISUAL_ATTRIBUTE,VISUAL_ATTRIBUTE_NAME);

رابط هذا التعليق
شارك

جربت الكود بس كان ناقصه شي

SET_ITEM_PROPERTY('BLOCK.ITEM',VISUAL_ATTRIBUTE,'VISUAL_ATTRIBUTE_NAME');





اشتغل الكود بس انا وضع اذا كان الاسم محمد ( ضع لونه احمر )


اذا كان الاسم احمد ( اصفر)



بس المشكلة الاحظ ان الكود قرأ الشرط الاول بمعنى جعل كل الاسماء بالون الاحمر

واهمل اللون الاصفر


مالحل

رابط هذا التعليق
شارك

استخدم

Set_Item_Instance_Property('BLOCK.ITEM', CURRENT_RECORD, VISUAL_ATTRIBUTE,'VISUAL_ATTRIBUTE_NAME');


بدلاً من

SET_ITEM_PROPERTY('BLOCK.ITEM',VISUAL_ATTRIBUTE,'VISUAL_ATTRIBUTE_NAME');

رابط هذا التعليق
شارك

السلام عليكم



يا اخي عندما بدلت بالكود الذي كتبته يتلون اول ريكورد فقط والباقي لا




لا ادري مالحل مازالت المشكلة مالعلم انه في التقرير اسهل بكثير تعمل conditional format



ارجوووووو المساعدة

رابط هذا التعليق
شارك

بالفعل انا غلطت انا اسف جدا

SET_ITEM_PROPERTY('BLOCK.ITEM',VISUAL_ATTRIBUTE,VISUAL_ATTRIBUTE_NAME3);



معلشى وانا قولت لك انى مش كانت على جهاز علية اوراكل وكانت بحاول اوصلك المعلوماة بسرعة

انا ساعة كدة وحنزل ويندز جديد واوراكل وحعمل اللى حضرتك عاوزة عملى

وابعت لك الفورمة تشوفها

والله المستعان

رابط هذا التعليق
شارك

السلام عليكم
اخي العزيز
مرفق ملف به طلبك

الفكرة تتلخص في انشاء عدد visual attribute مساوي لعدد الشروط التي ترغب بها

begin
if :emp.TEXT_ITEM8 <0
	then
	 	 set_item_instance_property('empno', current_record, visual_attribute, 'va_1');
	 	 set_item_instance_property('ename', current_record, visual_attribute, 'va_1');
	 	 set_item_instance_property('sal', current_record, visual_attribute, 'va_1');
	 	 set_item_instance_property('TEXT_ITEM6', current_record, visual_attribute, 'va_1');
	 	 set_item_instance_property('TEXT_ITEM8', current_record, visual_attribute, 'va_1');
	 	  
else if :emp.TEXT_ITEM8 =0 
	then
	set_item_instance_property('empno', current_record, visual_attribute, 'va_2');
	 	 set_item_instance_property('ename', current_record, visual_attribute, 'va_2');
	 	 set_item_instance_property('sal', current_record, visual_attribute, 'va_2');
	 	 set_item_instance_property('TEXT_ITEM6', current_record, visual_attribute, 'va_2');
	 	 set_item_instance_property('TEXT_ITEM8', current_record, visual_attribute, 'va_2');
	 	  
else if :emp.TEXT_ITEM8 >0
		 then
		 set_item_instance_property('empno', current_record, visual_attribute, 'va_3');
	 	 set_item_instance_property('ename', current_record, visual_attribute, 'va_3');
	 	 set_item_instance_property('sal', current_record, visual_attribute, 'va_3');
	 	 set_item_instance_property('TEXT_ITEM6', current_record, visual_attribute, 'va_3');
	 	 set_item_instance_property('TEXT_ITEM8', current_record, visual_attribute, 'va_3');
	 	  
end if;
end if;
end if;
end;



و داخل العنصر الزي سوف يتم عليه تنفيذ الشرط و في المثال الموجود هو text item داخل تريجيرpost_change
يمكنك وضع الكود

فقط لابد من عمل set_item_instance_property لكل ايتم داخل البلوك حتي يتم تنفيذ التوين علي كل الريكورد
post-51301-1260912227_thumb.png

بالتوفيق

set_item_instance.rar

رابط هذا التعليق
شارك

قمت بوضع الكود في cursor



في when_new_form_instance



بحيث اريد عمود معين تتلون فيه الداتا طبقا للشرط



ولكن لا يظهر شي


وهذا الكود

execute_query;
declare
cursor c2 is select * from RECRUITMENT;
n c2%rowtype ;
begin
open c2;
fetch c2 into n;
loop
IF n.action='mohammed' THEN 

set_item_instance_property('action', current_record, visual_attribute, 'ss');
elsif n.action='ali'then
set_item_instance_property('action', current_record, visual_attribute, 'mm');

exit when :sno is null;
end if;
end loop;
close c2;
end;

تم تعديل بواسطة the past
رابط هذا التعليق
شارك

امرك عجيب؟؟؟
الكود شغال وانا مجربهم كلهم ؟؟؟ اين المشكلة صدقا شيء محير
ابعتلي الفورم وساقوم بعمله لك

رابط هذا التعليق
شارك

اخي العزيز
اتفق تماما مع الاخ mmsalman87

امرك عجيب؟؟؟
الكود شغال وانا مجربهم كلهم ؟؟؟ اين المشكلة صدقا شيء محير
...



اعتقد ان مشاركتي السابقة و مرفقاتها تحتوي علي ما تريد
http://www.araboug.org/ib/index.php?s=&showtopic=38788&view=findpost&p=179390

post-51301-1260966631_thumb.png
بالنسبة لوضع الكود في when_new_form_instance
اخي قم بوضع الكود في Post_change سواء كنت تستعمل text item او display item
فهو سيقوم بهذه المهمة
رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية