الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

تلوين ريكورد معين

Featured Replies

بتاريخ:

اريد ان افحص اذا كانت قيمة صف من الصفوف لحقل معين = 0 ان يقوم بتلوين الريكورد لهذا الحقل
ولكن المشكلة انه يقوم بتلوين ال tabular كله وانا اريد الريكورد فقط
وضعت الكود التالي لكن ع الفاضي

if  :MESSAGESRECEIVED.read_flag=0 then
Set_Item_INSTANCE_Property('MESSAGESRECEIVED.read_flag',CURRENT_RECORD , VISUAL_ATTRIBUTE,'read');
end if;

بتاريخ:

جرب هادا الكود ماهر:

if :MESSAGESRECEIVED.read_flag=0 then
Set_Item_INSTANCE_Property('MESSAGESRECEIVED.read_flag',CURRENT_RECORD , VISUAL_ATTRIBUTE,'va');
end if;



ما تكتب red اعمل visual attribute واعطيه اسمها وليس اسم اللون..
موفق

بتاريخ:
  • كاتب الموضوع

مشكور يا حبيب اشكرك كثير

بتاريخ:

السلام عليكم و رحمة الله تعالى و بركاته:
اخي يمكنك استعمال هذين الامرين:
set_block_property('block_name',current_row_foreground_color,'r360g80b300');
لتغيير لونالكتابة في الريكورد
و:
set_block_property('block_name',current_row_background_color,'r360g80b300');
لتلوين الركورد او خلفية الريكورد.
علما انه بامكانك اختيار اي لون بتغيير "r" من 0 الى 1000 وهو اللون الاحمر ونفس الشيء للونين الاخضر و الازرق
بالتوفيق يا اخي
لن ننساك يا قدس و فينا نبض الحياة
يا رب ارزقنا صلاة في القدس الشريف آميـــن

تم تعديل بواسطة makhlouf

بتاريخ:

ممكن يا اخي الحبيب تستخدم البروسيدجر (Display_Item) وشكلها كالتالي:

[size=4]display_item(record_name , 'visual_attribute_name')[/size]

بتاريخ:
  • كاتب الموضوع

اخواني مشكورين ولكن في مشكلة بسيطة في الكود
انا كتبت الكود التالي واشتغل:

if :MESSAGESRECEIVED.read_flag=0 then
Set_Item_INSTANCE_Property('MESSAGESRECEIVED.message_title' ,CURRENT_RECORD, VISUAL_ATTRIBUTE,'read');
Set_Item_INSTANCE_Property('MESSAGESRECEIVED.message_DATE',CURRENT_RECORD , VISUAL_ATTRIBUTE,'read');
Set_Item_INSTANCE_Property('MESSAGESRECEIVED.SENT_TO_V',CURRENT_RECORD , VISUAL_ATTRIBUTE,'read');

end if;






المشكلة انه لدي tabular
ولكن في هذا الكود يلون فقط الصف الاول لنفرض انه لدي اكثر من صف تنطبق عليه الحالة لن يلون اذا ما الحل ؟

بتاريخ:

السلام عليكم
جرب هذا على تريجر post-Queryعلى البلوك وانشي ال visual attribute وليكن اسمه vb


DECLARE
cur_itm VARCHAR2(80); 
cur_block VARCHAR2(80) := :System.Cursor_Block; 
BEGIN IF :item_name =0 THEN
cur_itm := Get_Block_Property( cur_block, FIRST_ITEM ); 
WHILE ( cur_itm IS NOT NULL ) LOOP 
cur_itm := cur_block||'.'||cur_itm; 
Display_Item( cur_itm, 'vb'); 
cur_itm := Get_Item_Property( cur_itm, NEXTITEM ); 
END LOOP;
end if;

END



جرب وقولي
موفق

بتاريخ:
  • كاتب الموضوع

لم يعط اي تغير على اللون حتى الصف الاول لم يعطيه لون مرفق الكود كما كتبته
DECLARE
cur_itm VARCHAR2(80);
cur_block VARCHAR2(80) := :System.Cursor_Block;
BEGIN
IF :MESSAGESRECEIVED.read_flag =0 THEN
cur_itm := Get_Block_Property( cur_block, FIRST_ITEM );
WHILE ( cur_itm IS NOT NULL ) LOOP
cur_itm := cur_block||'.'||cur_itm;
Display_Item( :MESSAGESRECEIVED.message_title, 'read');
cur_itm := Get_Item_Property( cur_itm, NEXTITEM );
END LOOP;
end if;
END;

بتاريخ:
  • كاتب الموضوع

نفس الشي لم يعمل الكود

بتاريخ:

السلام عليكم

عزيزي ماهر ضع الكود هكذا بدون تغير على التريجر السالف ذكره

declare
cur_itm   varchar2(80);
cur_block  varchar2(80) :=:system.cursor_block;
begin if :MESSAGESRECEIVED.message_title=0  then
	cur_itm:=get_block_property(cur_block,first_item);
	while (cur_itm is not null) loop

		cur_itm:=cur_block ||'.'||cur_itm;
		display_item(cur_itm,'read');
	cur_itm:=get_item_property(cur_itm,nextitem);
	end loop;




موفق

بتاريخ:
  • كاتب الموضوع

مشكور اخ مصطفى اشتغل الكود تمام مشكوووووووور
ولكن ما المشكلة التي كانت ؟؟؟

بتاريخ:

السلام عليكم
ده الخطأ

Display_Item( :MESSAGESRECEIVED.message_title, 'read');



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

موفق

بتاريخ:
  • كاتب الموضوع

شكرا لك وزادك الله من نعمه

بتاريخ:

:MESSAGESRECEIVED.message_title=0

بارك الله فيكم ....لكن أخي ما المقصود من هذا ...عندما اجرب الكود بقلي bad bind variable ...

بتاريخ:

السلام عليكم
ياعزيزي ده أيتم"تيكست" عند الاخ ماهر الاي هيكون عليه الشرط

ضع الاي عندك بدله

موفق

بتاريخ:

مشكور كتير أخي ....عدلت فقط اسم الاي تم ... ولكن عند تنفيذ الكود ...

خطأ 103 عند السطر 2 , العمود 4
عند توقع التالي if تم مواجهة الرمز ";" :


declare
cur_itm varchar2(80);
cur_block varchar2(80) := :system.cursor_block;
begin if :EMPLOYEE.EMPLOYEE_ID=0 then
cur_itm:=get_block_property(cur_block,first_item);
while (cur_itm is not null) loop

cur_itm:=cur_block ||'.'||cur_itm;
display_item(cur_itm,'read');
cur_itm:=get_item_property(cur_itm,nextitem);
end loop;

بتاريخ:

أخي لقد نسيت كتابة END IF

declare
cur_itm varchar2(80);
cur_block varchar2(80) := :system.cursor_block;
begin if :EMPLOYEE.EMPLOYEE_ID=0 then
cur_itm:=get_block_property(cur_block,first_item);
while (cur_itm is not null) loop

cur_itm:=cur_block ||'.'||cur_itm;
display_item(cur_itm,'read');
cur_itm:=get_item_property(cur_itm,nextitem);
end loop; 
END IF;



بالتوفيق

  • بعد 2 سنة...
بتاريخ:

السلام عليكم

لقد حاولت اتباع التعليمات في موضوع ولم انجح استخدمت هذا الكود ارجو المساعده .

اريد اي ركورد ما ينطبق عليه الشرط بلون معين استخدم Tabular

declare

cur_itm varchar2(80);

cur_block varchar2(80) :=:system.cursor_block;

begin if :hse_min.sr_no>2 then

cur_itm:=get_block_property(cur_block,first_item);

while (cur_itm is not null) loop

cur_itm:=cur_block ||'r360g80b300'||cur_itm;

display_item(cur_itm,'r360g80b300');

cur_itm:=get_item_property(cur_itm,nextitem);

end loop;

end if;

end;

بتاريخ:

ارجو من العارفين الاجابة على السؤال

بتاريخ:

الحل يا جماعة

  • بعد 13 سنة...
بتاريخ:

السلام عليكم... 

لدي مشروع ب الجامعة واجهتني مشكله هو عندما اريد تغير لون سجل في الديتيلز حاولت اعمل كود ولكن يلون لي الحقل كامل ولا يلتزم ب الشروط ولا شيء  يلون لي الحقل كامل الموجود في الديتيلز ولا يلتزم مثلا اذا كان الحالة 1, بلون واذا كانت 2 بلون اخر  

begin 

FIRST_RECORD;
LOOP
    EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';

    IF :T_BORING2.BORROWING_STATE IS NOT NULL THEN
        IF :T_BORING2.BORROWING_STATE = 1 THEN
            SET_ITEM_INSTANCE_PROPERTY('T_BORING2.NUM_BOOK', CURRENT_RECORD, VISUAL_ATTRIBUTE, 'VISUAL_ATTRIBUTE34');
        ELSIF :T_BORING2.BORROWING_STATE = 2 THEN
            SET_ITEM_INSTANCE_PROPERTY('T_BORING2.NUM_BOOK', CURRENT_RECORD, VISUAL_ATTRIBUTE, 'VA_NORMAL');
        ELSE
            SET_ITEM_INSTANCE_PROPERTY('T_BORING2.NUM_BOOK', CURRENT_RECORD, VISUAL_ATTRIBUTE, 'VISUAL_ATTRIBUTE32');
        END IF;
    ELSE
        SET_ITEM_INSTANCE_PROPERTY('T_BORING2.NUM_BOOK', CURRENT_RECORD, VISUAL_ATTRIBUTE, 'VISUAL_ATTRIBUTE31');
    END IF;

    NEXT_RECORD;
END LOOP;

end;

 

تم تعديل بواسطة Anas Alghuzi

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.