Home » Developer & Programmer » Forms » about the MS listview control activex
about the MS listview control activex [message #80327] Tue, 10 September 2002 00:46 Go to next message
Muddasar Ahmad
Messages: 2
Registered: September 2002
Junior Member
I want to use activex control(listview) in my form 6i
, how i can use this control to link the data from directly the oracle database.
Please tell me about this control respect of developer forms 6i, or tell me the othe sloution.

Thanks.
Re: about the MS listview control activex [message #81368 is a reply to message #80327] Tue, 11 February 2003 09:04 Go to previous messageGo to next message
John Mason
Messages: 2
Registered: February 2003
Junior Member
1. Draw OCX control on form.

2. Right click on OCX control and Insert Object "Microsoft ListView Control 6.0"

3. Import OLE Library Interfaces "MSComctlLib.ListViewCtrl.2" (

4. Set Data Block Single Record to YES

5. Set OLE Class of Listview control to "MSComctlLib.ListViewCtrl.2"

6. Rename listview control to "LVWTAB" and Data Block to "B1"

6. Add the following code to the "WHEN_NEW_FORM_INSTANCE" Trigger (Make Sure You Have Access To ALL_TABLES)

DECLARE

hColHeads MSComctlLib_CONSTANTS.IColumnHeaders;
hColHead MSComctlLib_CONSTANTS.IColumnHeader;
hListItems MSComctlLib_CONSTANTS.IListItems;
hListItem MSComctlLib_CONSTANTS.IListItem;
hListSubItems MSComctlLib_CONSTANTS.IListSubItems;
hListSubItem MSComctlLib_CONSTANTS.IListSubItem;


-- Error Handler variables
errCode pls_integer;
errSrc varchar2(200);
errDescription varchar2(2000);
errHelpfile varchar2(200);
errHelpContext pls_integer;

CURSOR cAllTables IS
SELECT * FROM all_tables;

BEGIN


errDescription := NULL;

MSCOMCTLLIB_ILISTVIEW.ole_view(:item('B1.lvwTab').interface, MSComctlLib_CONSTANTS.lvwReport);

hColHeads := MSCOMCTLLIB_ILISTVIEW.ColumnHeaders(:item('B1.lvwTab').interface);

hColHead := MSCOMCTLLIB_ICOLUMNHEADERS.ole_add(
interface => hColHeads
,zIndex => TO_VARIANT(1)
,key => TO_VARIANT('TABLE')
,text => TO_VARIANT('Table Name')
,width => TO_VARIANT(500)
,Alignment => OleVar_Null
,icon => OleVar_Null
);
hColHead := MSCOMCTLLIB_ICOLUMNHEADERS.ole_add(
interface => hColHeads
,zIndex => TO_VARIANT(2)
,key => TO_VARIANT('OWNER')
,text => TO_VARIANT('Owner')
,width => TO_VARIANT(500)
,Alignment => OleVar_Null
,icon => OleVar_Null
);


hListItems := MSCOMCTLLIB_ILISTVIEW.ListItems(:item('B1.lvwTab').interface);

MSCOMCTLLIB_ILISTITEMS.clear(:item('B1.lvwTab').interface);

FOR rAllTables IN cAllTables LOOP

hListItem := MSCOMCTLLIB_ILISTITEMS.ole_add (interface => hListItems);
MSCOMCTLLIB_ILISTITEM.text(hListItem,rAllTables.table_name);

hListSubItems := MSCOMCTLLIB_ILISTITEM.ListSubItems(hListItem);
MSCOMCTLLIB_ILISTSUBITEMS.clear(interface => hListSubItems);

hListSubItem := MSCOMCTLLIB_ILISTSUBITEMS.ole_add ( interface => hListSubItems
,zIndex => TO_VARIANT(1)
,Key => TO_VARIANT('FileDesc')
,text => TO_VARIANT(rAllTables.owner)
,ReportIcon => OleVar_Null
,ToolTipText => OleVar_Null
);

END LOOP;


NULL;

exception
when others then
errCode := last_ole_exception( errSrc,
errDescription,
errHelpfile,
errHelpContext);
message('Error Raised by ->'||errSrc||': '||errDescription);

END;



Bobs your uncle a MS Listview Control built and populated. Use the package "MSComctlLib_ListViewCtr_EVENTS" to react to List View Events.

Have fun !!

John Mason
Re: about the MS listview control activex [message #81473 is a reply to message #80327] Fri, 21 February 2003 04:36 Go to previous message
Muddasar Ahmad
Messages: 2
Registered: September 2002
Junior Member
Thanks for replay in my question.
I ues that control in the light of your instructions but there is some problem found or i think there is some thing mising in the instruction no 3 that is
"Import OLE Library Interfaces "MSComctlLib.ListViewCtrl.2" ("
please remail me this code on the following address
Muddasar_ahmad@aero.com.pk

Regard
Muddasar Ahmad.
Previous Topic: how to forms 9.0 on 9i Application server from a client
Next Topic: Forms Applet Size
Goto Forum:
  


Current Time: Fri Apr 26 03:47:15 CDT 2024