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
