Home » Developer & Programmer » Forms » Treeview menu (Windows 7 Forms 6i)
Treeview menu [message #604329] Sat, 28 December 2013 13:20 Go to next message
Adeel Qadir
Messages: 48
Registered: November 2013
Location: Pakistan
Member
Hey Experts,

I have successfully created Point of Sale module in forms 6i
I want to create a treeview menu like below attached snap.

please help me to create treeview menu like attach picture.

/forum/fa/11499/0/

  • Attachment: menu.png
    (Size: 16.46KB, Downloaded 1548 times)
Re: Treeview menu [message #604330 is a reply to message #604329] Sat, 28 December 2013 14:19 Go to previous messageGo to next message
mughals_king
Messages: 392
Registered: January 2012
Location: pakistan
Senior Member
Yes you can acomplish this task easily follow THESE below steps.

Create table and insert data like below

S_NUM     NAME                   MENU_NAME
01  Point of Sale 
02  Sales Section
0101    Sales Receipt            SALES RECEIPT
0102    Sales Return Receipt     SALES RETURN
0103    Add New Customer         ADD CUSTOMER
0104    Customer List            CUSTOMER LIST   

03 Reports

0301 Sales Report 
0302 Sales Return
0303 Sales Reports
0304 Customer Detail
0305 Customer List

--------------------------
WHEN-NEW-FORM-INSTANCE------TRIGGER
----------------------------
DECLARE
  htree ITEM;
  top_node FTREE.NODE ;
  new_node FTREE.NODE ;
  child_node FTREE.NODE ;
  child_node1 FTREE.NODE ;
  item_value VARCHAR2(30);
       cursor prime_cur is
                   SELECT S_NUM,NAME FROM MENU WHERE LENGTH (S_NUM) = 2 ;
       cursor child_cur(T varchar2) is
                   SELECT S_NUM ,NAME FROM MENU WHERE LENGTH(S_NUM)=4 AND SUBSTR(S_NUM,1,2)=T;
       cursor child_cur1(t1 varchar2) is
                   SELECT S_NUM,NAME FROM MENU WHERE LENGTH(S_NUM)=6 AND SUBSTR(S_NUM,1,4)=t1;
BEGIN
  htree := Find_Item('BLOCK.tree_item');
  for dummy in prime_cur 
     loop 
      	  new_node := Ftree.Add_Tree_Node
                 (htree,ftree.root_node,
               	  Ftree.PARENT_OFFSET,
                  Ftree.LAST_CHILD,
                  Ftree.EXPANDED_NODE,
                  dummy.name,
                  'c:\ICONS\a',
                  dummy.S_NUM);
     	
           for child in child_cur(dummy.S_NUM) loop 
               child_node := Ftree.Add_Tree_Node
	          (htree,new_node,
	           Ftree.PARENT_OFFSET,
	           Ftree.LAST_CHILD,
	           Ftree.EXPANDED_NODE,
	           child.name,
	           'D:\ICONS\GO',child.S_NUM);
           for child1 in child_cur1(child.S_NUM) loop
               child_node1 := Ftree.Add_Tree_Node
	          (htree,CHILD_NODE,
	           Ftree.PARENT_OFFSET,
	           Ftree.LAST_CHILD,
	           Ftree.EXPANDED_NODE,
            	child1.name,'D:\ICONS\GO',child1.S_NUM);
                    
               	end loop;
               	end loop;
                end loop;
            exception when others then 
           message(sqlerrm(sqlcode));
      END; 

-----------------------------------
WHEN-TREE-NODE-EXPANDED-----TRIGGER
NULL;
WHEN-TREE-NODE-ACTIVATED-----TRIGGER
NULL;
WHEN-TREE-NODE-SELECTED----TRIGGER
------------------------------------
 if :SYSTEM.TRIGGER_NODE_SELECTED in('TRUE') then
 DECLARE
    a varchar2(100);
    b varchar2(100);
    htree ITEM;
    node_value VARCHAR2(100);
 BEGIN
      htree := Find_Item('BLOCK.tree_item');
      node_value :=Ftree.Get_Tree_Node_Property
      (htree, :SYSTEM.TRIGGER_NODE,
      Ftree.NODE_VALUE);
if substr(node_value,1,2) in('01','02') then
  	   select nvl(MENU_NAME,'tt')into a from menu where s_num=node_value;
   if a='tt' then
       CALL_FORM('c:\forms'||a||'.FMX', switch_menu => do_replace);
   end if;
      	elsif substr(node_value,1,2) in('03') then
            select nvl(menu_name,'rr')into b from menu where s_num=node_value;
   if b='rr' then
     Run_Product(REPORTS, 'c:\'||b||'.rep', ASYNCHRONOUS, RUNTIME, FILESYSTEM, 'A', NULL);
   end if;
	elsif substr(node_value,1,2) in('04') then
 exit_form;
    end if;
end;
elsif :SYSTEM.TRIGGER_NODE_SELECTED in('FALSE') then
	null;
	end if;




Regard
Mughal

[Updated on: Sat, 28 December 2013 14:24]

Report message to a moderator

Re: Treeview menu [message #604339 is a reply to message #604330] Sun, 29 December 2013 00:07 Go to previous messageGo to next message
Adeel Qadir
Messages: 48
Registered: November 2013
Location: Pakistan
Member
Thanks for your quick reply
Can you please short explain the trigger code ???
Re: Treeview menu [message #604341 is a reply to message #604339] Sun, 29 December 2013 00:53 Go to previous messageGo to next message
shahzad-ul-hasan
Messages: 615
Registered: August 2002
Senior Member
Create a Trigger at form level:
When_new_form_instace....
then at tree(item level put this code).
WHEN-TREE-NODE-SELECTED----TRIGGER
------------------------------------
 if :SYSTEM.TRIGGER_NODE_SELECTED in('TRUE') then
 DECLARE
    a varchar2(100);
    b varchar2(100);
    htree ITEM;
    node_value VARCHAR2(100);
 BEGIN
      htree := Find_Item('BLOCK.tree_item');
      node_value :=Ftree.Get_Tree_Node_Property
      (htree, :SYSTEM.TRIGGER_NODE,
      Ftree.NODE_VALUE);
if substr(node_value,1,2) in('01','02') then
  	   select nvl(MENU_NAME,'tt')into a from menu where s_num=node_value;
   if a='tt' then
       CALL_FORM('c:\forms'||a||'.FMX', switch_menu => do_replace);
   end if;
      	elsif substr(node_value,1,2) in('03') then
            select nvl(menu_name,'rr')into b from menu where s_num=node_value;
   if b='rr' then
     Run_Product(REPORTS, 'c:\'||b||'.rep', ASYNCHRONOUS, RUNTIME, FILESYSTEM, 'A', NULL);
   end if;
	elsif substr(node_value,1,2) in('04') then
 exit_form;
    end if;
end;
elsif :SYSTEM.TRIGGER_NODE_SELECTED in('FALSE') then
	null;
	end if;

Re: Treeview menu [message #604364 is a reply to message #604341] Sun, 29 December 2013 07:56 Go to previous messageGo to next message
mughals_king
Messages: 392
Registered: January 2012
Location: pakistan
Senior Member
Take this .FMB file just create as i told you in my previous post and run .FMB file.

Feel free for any further query


Regard
Mughal

[Updated on: Sun, 29 December 2013 07:57]

Report message to a moderator

Re: Treeview menu [message #604383 is a reply to message #604364] Mon, 30 December 2013 00:48 Go to previous messageGo to next message
Adeel Qadir
Messages: 48
Registered: November 2013
Location: Pakistan
Member
IT GIVE COMPILE ERROR ON SELECT AND MENU (MENTIONED IN RED BOLD)

cursor prime_cur is SELECT S_SUM,NAME FROM MENU WHERE LENGTH (S_NUM) = 2 ;
cursor child_cur(T varchar2) is SELECT S_NUM ,NAME FROM MENU WHERE LENGTH(S_NUM)=4 AND SUBSTR(s_num,1,2)=T;
cursor child_cur1(t1 varchar2) is SELECT S_NUM,NAME FROM MENU WHERE LENGTH(S_NUM)=6 AND SUBSTR(S_NUM,1,4)=t1;

I DONT UNDERSTAND THIS ERROR
Re: Treeview menu [message #604392 is a reply to message #604383] Mon, 30 December 2013 02:02 Go to previous messageGo to next message
Littlefoot
Messages: 21807
Registered: June 2005
Location: Croatia, Europe
Senior Member
Account Moderator
Which "compile error" is it?
Re: Treeview menu [message #604408 is a reply to message #604392] Mon, 30 December 2013 05:32 Go to previous messageGo to next message
Adeel Qadir
Messages: 48
Registered: November 2013
Location: Pakistan
Member
Select or Menu must be declare
Re: Treeview menu [message #604409 is a reply to message #604408] Mon, 30 December 2013 06:03 Go to previous messageGo to next message
Littlefoot
Messages: 21807
Registered: June 2005
Location: Croatia, Europe
Senior Member
Account Moderator
Where did you put those statements? Could you post the whole code?
Re: Treeview menu [message #604462 is a reply to message #604409] Tue, 31 December 2013 02:33 Go to previous messageGo to next message
Adeel Qadir
Messages: 48
Registered: November 2013
Location: Pakistan
Member
when i run TREE_EXAMPLE.fmb then error show abt these two codes
Re: Treeview menu [message #604467 is a reply to message #604462] Tue, 31 December 2013 04:05 Go to previous messageGo to next message
mughals_king
Messages: 392
Registered: January 2012
Location: pakistan
Senior Member
Frnd upload screen shot TO show ERROR


Regard
Mughal
Re: Treeview menu [message #604470 is a reply to message #604409] Tue, 31 December 2013 04:19 Go to previous messageGo to next message
lock_heart
Messages: 36
Registered: November 2013
Member
Have you created a table, named 'menu' in your database...
Re: Treeview menu [message #604540 is a reply to message #604470] Tue, 31 December 2013 23:47 Go to previous messageGo to next message
Adeel Qadir
Messages: 48
Registered: November 2013
Location: Pakistan
Member
here is screen shot

http://i44.tinypic.com/2d8fexy.png
Re: Treeview menu [message #604552 is a reply to message #604540] Wed, 01 January 2014 01:56 Go to previous message
Littlefoot
Messages: 21807
Registered: June 2005
Location: Croatia, Europe
Senior Member
Account Moderator
@lock_heart asked a question (whether you created that table (MENU) in a schema you are connected to when working with Forms), but you still didn't answer it. Would you mind?
Previous Topic: Generate Character mode txt reports in runtime
Next Topic: How many maximum pll can be attached to a form
Goto Forum:
  


Current Time: Tue Apr 23 12:33:43 CDT 2024