Hi Bernard Marcelly, some time ago i played with the new grid control: source code should run with oo 3.3 ...
OPTION EXPLICIT Sub GridControlTest() Dim oColumnModel as Object Dim oColumn1 as Object Dim oColumn2 as Object Dim oDataModel as Object Dim oGridModel as Object Dim oGridControl as Object Dim oDialogModel as Object Dim oDialogControl as Object Dim i as Integer Dim rBounds as new com.sun.star.awt.Rectangle Dim oContWin as Object Dim oFrame as Object Dim oToolkit as Object Dim wd as new com.sun.star.awt.WindowDescriptor Dim oListener oColumnModel = createUnoService("com.sun.star.awt.grid.DefaultGridColumnModel") oColumn1 = createUnoService("com.sun.star.awt.grid.GridColumn") oColumn1.Title = "City" oColumn1.ColumnWidth = 30 oColumn2 = createUnoService("com.sun.star.awt.grid.GridColumn") oColumn2.Title = "Country" oColumn2.ColumnWidth = 50 oColumnModel.addColumn(oColumn1) oColumnModel.addColumn(oColumn2) oDataModel = createUnoService("com.sun.star.awt.grid.DefaultGridDataModel") For i = 0 To 10 oDataModel.addRow (""&i, Array(Chr(97+i), Chr(65+i))) Next i oDialogModel = createUnoService("com.sun.star.awt.UnoControlDialogModel") oDialogModel.Title = "GridControl Test" oDialogControl = createUnoService("com.sun.star.awt.UnoControlDialog") oDialogControl.setModel( oDialogModel ) oDialogControl.setPosSize( 100, 100, 300, 200, com.sun.star.awt.PosSize.POSSIZE) oGridModel = oDialogModel.createInstance("com.sun.star.awt.grid.UnoControlGridModel") oGridModel.Name = "MyGrid" oGridModel.GridDataModel = oDataModel oGridModel.ColumnModel = oColumnModel oGridModel.ShowColumnHeader = True oGridModel.ShowRowHeader = True oGridModel.HScroll = True oGridModel.VScroll = True oGridModel.Sizeable = True oGridControl = createUnoService("com.sun.star.awt.grid.UnoControlGrid") oGridControl.setModel(oGridModel) oDialogControl.addControl("MyGrid", oGridControl) oGridControl.setPosSize(10, 10, 280, 180, com.sun.star.awt.PosSize.POSSIZE) oToolkit = createUnoService("com.sun.star.awt.Toolkit") rBounds.X = oDialogControl.PosSize.X rBounds.Y = oDialogControl.PosSize.Y rBounds.Width = oDialogControl.PosSize.Width rBounds.Height = oDialogControl.PosSize.Height wd.Type = com.sun.star.awt.WindowClass.TOP wd.Bounds = rBounds With com.sun.star.awt.WindowAttribute wd.WindowAttributes = .BORDER + .MOVEABLE + .SIZEABLE + .CLOSEABLE End With wd.WindowServiceName = "window" oContWin = oToolkit.createWindow(wd) oFrame = createUnoService("com.sun.star.frame.Frame") oFrame.initialize(oContWin) StarDesktop.getFrames().append(oFrame) oFrame.Name = "TestGridFrame" oFrame.Title = "TestGridTitle" oGridControl.createPeer(oToolkit, oContWin) oContWin.setVisible(True) oListener = CreateUnoListener("XGridSelection_", "com.sun.star.awt.grid.XGridSelectionListener") oGridControl.addSelectionListener(oListener) End Sub Sub XGridSelection_selectionChanged(oEvt) MsgBox "selected row: " & oEvt.Row End Sub Sub XGridSelection_disposing(oEvt) End Sub Regards Oliver -- GnuPG key 0xCFD04A45: 8822 057F 4956 46D3 352C 1A06 4E2C AB40 CFD0 4A45
signature.asc
Description: OpenPGP digital signature