CCJGrid custom row height
Normally you can't set the row height for an individual row in a codejock grid.
The following code shows you how-to do that.
Use Windows.pkg
Use DFClient.pkg
Use cCJGrid.pkg
Use cCJGridColumn.pkg
Deferred_View Activate_oListWithImage for ;
Object oListWithImage is a dbView
Set Border_Style to Border_Thick
Set Size to 332 591
Set Location to 2 2
Set Label to "ListWithImage"
Object oThisProductList is a cCJGrid
Set Size to 325 580
Set Location to 4 5
Set pbReadOnly to True
Procedure OnComMeasureRow Variant llRow OLE_HANDLE llhDC Integer llWidth Integer ByRef llHeight
Move 75 to llHeight
Forward Send OnComMeasureRow llRow llhDC llWidth llHeight
End_Procedure
Procedure ResetGrid
Handle hoPaint
Integer iCustomDraw
Boolean bIsVirtual bUseFocusCell
Boolean bFixed
Get phoReportPaintManager to hoPaint
Forward Send ResetGrid
Get pbUseFocusCellRectangle to bUseFocusCell
Move 0 to iCustomDraw
If bUseFocusCell Begin
Move (xtpCustomDrawItem) to iCustomDraw
End
Move (iCustomDraw ior xtpCustomBeforeDrawRow ior xtpCustomMeasureRow) to iCustomDraw
Get ComFixedRowHeight of hoPaint to bFixed // ComSetCustomDraw resets this to True, must be restored
Send ComSetCustomDraw iCustomDraw
Set ComFixedRowHeight of hoPaint to bFixed
End_Procedure
Object oSTMAS_THUMBNAIL is a cCJGridColumn
Set piWidth to 100
Set pbEditable to False
Set pbMultiLine to True
Function DisplayImage String sImageName Returns String
String sXAML
Move "" to sXAML
Append sXAML '<StackPanel HorizontalAlignment="Center" Name="Grid1" VerticalAlignment="Top">'
Append sXAML '<Border HorizontalAlignment="Center" Name="Border1" VerticalAlignment="Top" Background="White" BorderBrush="#FF1FA3EB" BorderThickness="0,0,0,0">'
Append sXAML '<Image Name="Image1" Stretch="Uniform" Width="75px" Height="75px" Source="%1" />'
Append sXAML '</Border>'
Append sXAML '</StackPanel>'
Move (SFormat(sXAML, sImageName)) to sXAML
Function_Return sXAML
End_Function
Procedure OnCreateColumn
Forward Send OnCreateColumn
Delegate Set ComEnableMarkup to True
End_Procedure
End_Object
Object oSTMAS_CODE is a cCJGridColumn
Set piWidth to 197
Set psCaption to "Product"
Set pbEditable to False
End_Object
Procedure LoadData
tDataSourceRow[] MyData
String sXAML
String sPath
Send ResetGrid
Get psBitmapPath of (phoWorkspace(ghoApplication)) to sPath
Get DisplayImage of oSTMAS_THUMBNAIL (sPath+"\01.01.01_t.jpg") to sXAML // Put the image in the bitmap path
Move sXAML to MyData[0].sValue[0]
Move "01.01.01" to MyData[0].sValue[1]
Send ReInitializeData MyData False
End_Procedure
Procedure Activating
Forward Send Activating
Send LoadData
End_Procedure
End_Object
Cd_End_Object
See also: cCJGrid Row Height