Link to home
Start Free TrialLog in
Avatar of Angel02
Angel02

asked on

Crystal Report is printing blank fields

I am trying to print a dataset into a crystal report. Attached is my code.
I could print the dataset into a text file for test purpose. So, the dataset is not empty.
The report has the database fields corresponding to the dataset columns. I am dragging and dropping those database fields into the report (details section).

The report is generating and printing all the hard coded values and table row heading but the table row values are blank. Can there  be a possible reason for that? What am I missing?
Dim rptDoc As ReportDocument
        rptDoc = New myReport

	MyDataSet.WriteXml("C:\Dataset.txt")
        
        rptDoc.SetDatabaseLogon(DBLoginID, DBPassword, DBServer, DBName)
        rptDoc.SetDataSource(MyDataSet)
	

        Dim pardefn As CrystalDecisions.crystalreports.engine.ParameterFieldDefinition
        Dim parval As CrystalDecisions.shared.ParameterValues
        Dim pardval As CrystalDecisions.shared.ParameterDiscreteValue

        pardefn = rptDoc.DataDefinition.ParameterFields("columnid")
        parval = New CrystalDecisions.shared.ParameterValues
        pardval = New CrystalDecisions.shared.ParameterDiscreteValue
        pardval.Value = CInt(Trim(Session("colid")))

        parval.Add(pardval)
        pardefn.ApplyCurrentValues(parval)

   
        CrystalReportViewer1.ReportSource = rptDoc

Open in new window

Avatar of tickett
tickett
Flag of United Kingdom of Great Britain and Northern Ireland image

Just to be sure. Do you have anything in the selection criteria? (i.e. your dataset might be being passed correctly but the records may all be filtered out by selection criteria).

L
Avatar of Angel02
Angel02

ASKER

Sorry, what do you exactly mean by selection criteria? like if I am using anyhting in the sql query ?
SOLUTION
Avatar of tickett
tickett
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Angel02

ASKER

I am pulling 2 rows from the database. Those two rows are obtained in my test text file.
I am not doing any filtering after that.

BUT....
I have copied my report from an existing report and I am making changes to it. So the report has this parameter file "columnid". It is not letting me delete it from the field explorer as it is bounded to the report. But I cannot find it on the .rpt either. I don't know what this field is doing. Is there a way I can delete it, or find out what its doing? Can this field be making my dataset blank?

Try this before setting your reportviewer reportsource and let me know what you get (you only have one parm right?):


for i as Integer = 0 to  rptDoc.DataDefinition.ParameterFields.count
   If String.Compare(rptDoc.DataDefinition.ParameterFields(i).Name, "columnid", True) = 0 Then
messagebox.show("Good Parmname")
else
messagebox.show(rptDoc.DataDefinition.ParameterFields(i).Name.tostring )
end if
next
messagebox.show(CInt(Trim(Session("colid")))  )

CrystalReportViewer1.ReportSource = rptDoc
Can you attach the report? In Crystal Reports you can right click and field in and click something like "find in report" and it will show you where it is used.

L
Avatar of Angel02

ASKER

@13598
This is what printed for the attached code
Good Parmname(0)
colID: 713  
What does this mean?

@tickett
What do I right click? I cannot 'see' the field "columnid"  on the report. I just see it checked in the filed explorer which tells me that it is added in the report. Is it hidden ?
For i As Integer = 0 To rptDoc.DataDefinition.ParameterFields.Count - 1
            If String.Compare(rptDoc.DataDefinition.ParameterFields(i).Name, "columnid", True) = 0 Then
                messagebox.show("Good Parmname(" + i.ToString + ")")
            Else
                messagebox.show("ParaName: " + rptDoc.DataDefinition.ParameterFields(i).Name.ToString)
            End If
        Next
       messagebox.show(CInt(Trim(Session("colid")))  )


        CrystalReportViewer1.ReportSource = rptDoc

Open in new window

Right click it in the field explorer. If you don't see the option you need to install some services packs.
L
Or post the report here and I'll look for you :)
If you select your crystal report in designer do you see on the top bar File, Edit, View......Crystal Reports...?
Click on the Crystal Reports menu, Reports, Selection Formula.
What do you have here? Are you using the columnid there?
If you are, delete it and then you will be able to delete the parameter.
This is what printed for the attached code
Good Parmname(0)
colID: 713  
What does this mean?

That means that the parameter name is spelled correctly and that you are passing it a value. I posted that before I saw your post regarding the columnid. I thought that was how you were selecting the data but either the parameter name or the parameter value were incorrect.
After your post regarding that field, the reason why you don't get any data is because you are running the report based on the columnid being 713 but it appears that your dataset is not supposed to have any parameters????  Those two rows that you pull in your dataset do they even have a columnid and if they do is it 713?
Avatar of Angel02

ASKER

Sounds good. Thanks !
Attached is the .rpt. The field you need to look for is "estid".
repRpt.rpt
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Angel02

ASKER

wowww.. dat worked !!
I was missing that selection formula all these days. Never looked at it.
Deleting that entire formula printed my dataset as it is :)

Amazing.. thank you guys ! I wish I could give you few thousands points each :)