-
Notifications
You must be signed in to change notification settings - Fork 1
/
Default.aspx.vb
61 lines (53 loc) · 2.15 KB
/
Default.aspx.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.IO
Imports DevExpress.XtraPrinting
Imports System.Net.Mime
Imports DevExpress.XtraReports.UI
Imports DevExpress.XtraPrinting.Shape
Imports System.Drawing
Namespace WebApplication1
Partial Public Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
End Sub
Protected Sub ASPxButton2_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim generator As New ReportGeneratonHelper()
AddHandler generator.CustomizeColumnsCollection, AddressOf generator_CustomizeColumnsCollection
AddHandler generator.CustomizeColumn, AddressOf generator_CustomizeColumn
Dim report As XtraReport = generator.GenerateReport(ASPxGridView1, AccessDataSource1)
generator.WritePdfToResponse(Response, "test.pdf", System.Net.Mime.DispositionTypeNames.Attachment.ToString())
End Sub
Private Sub generator_CustomizeColumn(ByVal source As Object, ByVal e As ControlCustomizationEventArgs)
If e.FieldName = "Discontinued" Then
Dim control As New XRShape()
control.SizeF = e.Owner.SizeF
control.LocationF = New System.Drawing.PointF(0, 0)
e.Owner.Controls.Add(control)
control.Shape = New ShapeStar() With {
.StarPointCount = 5,
.Concavity = 30
}
AddHandler control.BeforePrint, AddressOf control_BeforePrint
e.IsModified = True
End If
End Sub
Private Sub control_BeforePrint(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
If Convert.ToBoolean(DirectCast(sender, XRShape).Report.GetCurrentColumnValue("Discontinued")) = True Then
DirectCast(sender, XRShape).FillColor = Color.Yellow
Else
DirectCast(sender, XRShape).FillColor = Color.White
End If
End Sub
Private Sub generator_CustomizeColumnsCollection(ByVal source As Object, ByVal e As ColumnsCreationEventArgs)
e.ColumnsInfo(1).ColumnWidth *= 2
e.ColumnsInfo(4).ColumnWidth += 30
e.ColumnsInfo(3).ColumnWidth -= 30
e.ColumnsInfo(e.ColumnsInfo.Count - 1).IsVisible = False
End Sub
End Class
End Namespace