Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.ReportSource Imports CrystalDecisions.Shared Imports CrystalDecisions.Windows.Forms Imports System.Data.SqlClient Imports System.Data.OleDb Public Class Form1 Dim objRpt As CrystalReport1 Dim con As New SqlConnection Private Function CreateSelectQueryAndParameters() As String Dim reportDocument As ReportDocument Dim paramFields As ParameterFields Dim paramField As ParameterField Dim paramDiscreteValue As ParameterDiscreteValue reportDocument = New ReportDocument paramFields = New ParameterFields Dim query As String = "SELECT " Dim columnNo As Integer = 0 If CheckBox1.Checked Then columnNo = columnNo + 1 query = query.Insert(query.Length, "pcode as Column" + columnNo.ToString()) paramField = New ParameterField() paramField.Name = "col" + columnNo.ToString() paramDiscreteValue = New ParameterDiscreteValue() paramDiscreteValue.Value = "Property Code" paramField.CurrentValues.Add(paramDiscreteValue) paramFields.Add(paramField) End If If CheckBox2.Checked Then columnNo = columnNo + 1 If query.Contains("Column") Then query = query.Insert(query.Length, ", ") End If query = query.Insert(query.Length, "pname as Column" +columnNo.ToString()) paramField = New ParameterField() paramField.Name = "col" + columnNo.ToString() paramDiscreteValue = New ParameterDiscreteValue() paramDiscreteValue.Value = "Property Name" paramField.CurrentValues.Add(paramDiscreteValue) paramFields.Add(paramField) End If For i As Integer = columnNo To 2 columnNo = columnNo + 1 paramField = New ParameterField() paramField.Name = "col" + columnNo.ToString() paramDiscreteValue = New ParameterDiscreteValue() paramDiscreteValue.Value = "" paramField.CurrentValues.Add(paramDiscreteValue) paramFields.Add(paramField) Next CrystalReportViewer1.ParameterFieldInfo = paramFields query += " FROM propdb" Return query End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Dim Ds As New DataSet1 Dim cnn As SqlConnection Dim connString As String Dim query As String connString = "Data Source=RANJITHA-PC;Initial Catalog=hrmdb;Integrated Security=True" cnn = New SqlConnection(connString) cnn.Open() query = CreateSelectQueryAndParameters() If Not query.Contains("Column") Then MessageBox.Show("No selection to display!") Return End If Dim adepter As New SqlDataAdapter(query, cnn) Dim Ds As New DataSet1 adepter.Fill(Ds, "DataTable1") MsgBox(ds.Tables(1).Rows.Count) cnn.Close() objRpt = New CrystalReport1() objRpt.SetDataSource(Ds.Tables(1)) CrystalReportViewer1.ReportSource = objRpt CrystalReportViewer1.Refresh() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)