

| Type | Description | |||
| Start as Variant | A DATE expression that specifies the starting date, if missing, the StartPrintDate value is used. | |||
| End as Variant | A DATE expression that specifies the ending date, if missing, the EndPrintDate value is used. | |||
| Long | A long expression that specifies the number of units within the specified range. |
When computing the UnitWidth property for printing to a page ( as shown in the following sample ), you can still use the Count property of the Level object to display more units instead one.
The following VB sample changes the UnitWidth property of the eXG2ant's Chart object so, the entire chart is printed to the page:
With Print1
Dim l As Long
With G2antt1.Chart
l = .UnitWidth
.UnitWidth = (Print1.ClientWidth - .PaneWidth(False)) / .CountVisibleUnits()
End With
Set .PrintExt = G2antt1.Object
.Preview
G2antt1.Chart.UnitWidth = l
End With
The sample has the disadvantage that once the user changes the Page's setup during Previewing the code is not re-executed, so the chart is displayed as it is on the screen. In order to update the UnitWidth property once the page's setup is changed, we need to handle the Refreshing and Refresh events of the eXPrint component as shown in the following VB sample:
Dim nUnitWidth As Long
Private Sub Print1_Refreshing()
With G2antt1.Chart
nUnitWidth = .UnitWidth
.UnitWidth = (Print1.ClientWidth - .PaneWidth(False)) / .CountVisibleUnits()
End With
End Sub
Private Sub Print1_Refresh()
G2antt1.Chart.UnitWidth = nUnitWidth
End Sub
Private Sub Preview_Click()
With Print1
Set .PrintExt = G2antt1.Object
.Preview
End With
End Sub The sample changes the UnitWidth property of the Chart during the Refreshing event, so the chart fits to page, and restores the UnitWidth's value when the Refresh event is invoked.
The following VB/NET sample changes the UnitWidth property so the chart fits to page:
Dim nUnitWidth As Long
Private Sub Exprint1_RefreshingEvent(ByVal sender As System.Object) Handles Exprint1.RefreshingEvent
With Exg2antt1.Chart
nUnitWidth = .UnitWidth
.UnitWidth = (Exprint1.ClientWidth - .get_PaneWidth(False)) / .CountVisibleUnits()
End With
End Sub
Private Sub Exprint1_RefreshEvent(ByVal sender As System.Object) Handles Exprint1.RefreshEvent
Exg2antt1.Chart.UnitWidth = nUnitWidth
End Sub
Private Sub Preview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Preview.Click
Exprint1.PrintExt = Exg2antt1
Exprint1.Preview()
End Sub