Solved

Assign values to the Text Field Crystal Report

Posted on 2007-11-30
14
2,216 Views
Last Modified: 2013-12-16
    In our project, we are using crystal reports. Now I want to add the values which is getting from the .cs page to the Text Field presented in the crystal report page. How can I do this?
we are currently using front end Microsoft Visual studio 2005 and back end Microsoft SQL server 2005.
0
Comment
Question by:veradist
  • 7
  • 7
14 Comments
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 20381736
0
 
LVL 1

Author Comment

by:veradist
ID: 20382741
Your given solution is in vb.net. But I want to know in C#.net. So, please give me the solution with the code of ASP.net with C#.net 2005.

Thanks in Advance...
0
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 20383088
Add semi-colons to the end of each line and you are almost done! You basically need one line:

(CrystalDecisions.CrystalReports.Engine.TextObject)mrptDoc.ReportDefinition.ReportObjects(vstrTextObject).Text = _
vstrTextValue;

And it doesn't matter Windows or Web.
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 1

Author Comment

by:veradist
ID: 20383494
(CrystalDecisions.CrystalReports.Engine.TextObject)mrptDoc.ReportDefinition.ReportObjects(vstrTextObject).Text = _vstrTextValue;

From the above code  .Text does not pop up in my asp.net with c# and then _vstrTextValue also doesn't appear.
pls give me the feasible solution

Thanks in Advance..
 private void ApplyTextObject(string vstrTextObject, string vstrTextValue)
    {
        try
        {
            
            (CrystalDecisions.CrystalReports.Engine.TextObject)doc.ReportDefinition.ReportObjects(vstrTextObject) = vstrTextValue;
 
 
           
        }
        catch (Exception e)
        {
            System.Windows.Forms.MessageBox.Show("Catch here", "Message:", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information, System.Windows.Forms.MessageBoxDefaultButton.Button1, System.Windows.Forms.MessageBoxOptions.DefaultDesktopOnly);
        }
    }
 
   

Open in new window

0
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 20383621
I made a mistake. there shouldn't be any underscore there.

as for the text property, it is probably not the correct casting.
0
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 20383707
from http://www.csharpfriends.com/Forums/ShowPost.aspx?PostID=33132


CrystalDecisions.CrystalReports.Engine.TextObject HeaderCohort = ((CrystalDecisions.CrystalReports.Engine.TextObject)rpt.ReportHeaderSection1.ReportObjects["HeaderCohort"]); 
 
HeaderCohort.Text = "This is what I want it to Say Now"; 

Open in new window

0
 
LVL 1

Author Comment

by:veradist
ID: 20383848
Ok now there is no error it runs well but it goes to the exception part. I haven't reach the solution
0
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 20383946
and what is the exception? are you sure the field exists and it is spelled correctly?
0
 
LVL 1

Author Comment

by:veradist
ID: 20383978
The Exception is System.IndexOutOfRangeException: Index was outside the bounds of the array. at CrystalDecesions.CrystalReports.Engine.ReportObjects.get_Item(String Name) at Report.ApplyTextObject(String vstrTextObject, String vstrTextValue)in c:\Inetpub\wwwroot\Dashboard\Report.aspx.cs:line 52

This is the exception, now what can I do help me its very urgent
0
 
LVL 1

Author Comment

by:veradist
ID: 20384017
And my function is the following code snippet.
Then the calling function is

ApplyTextObject("txtInt_1", "Santhana Krishnan");
where txtInt_1 is the name of the TextObject and the "Santhana Krishnan" is the label which is appear to that particular TextObject.
private void ApplyTextObject(string vstrTextObject, string vstrTextValue)
    {
        try
        {
            CrystalDecisions.CrystalReports.Engine.TextObject HeaderCohort = ((CrystalDecisions.CrystalReports.Engine.TextObject)doc.ReportDefinition.ReportObjects["HeaderCohort"]);
            HeaderCohort.Text = "Veradis Technologies";
        }
        catch (Exception e)
        {
            System.Windows.Forms.MessageBox.Show("Catch here   -  "+e, "Message:", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information, System.Windows.Forms.MessageBoxDefaultButton.Button1, System.Windows.Forms.MessageBoxOptions.DefaultDesktopOnly);
        }
    }

Open in new window

0
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 20384049
the code posted is not using your variables!

this one is:
private void ApplyTextObject(string vstrTextObject, string vstrTextValue)
    {
        try
        {
            CrystalDecisions.CrystalReports.Engine.TextObject HeaderCohort = ((CrystalDecisions.CrystalReports.Engine.TextObject)doc.ReportDefinition.ReportObjects[vstrTextObject]);
            HeaderCohort.Text = vstrTextValue;
        }
        catch (Exception e)
        {
            System.Windows.Forms.MessageBox.Show("Catch here   -  "+e, "Message:", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information, System.Windows.Forms.MessageBoxDefaultButton.Button1, System.Windows.Forms.MessageBoxOptions.DefaultDesktopOnly);
        }
    }

Open in new window

0
 
LVL 1

Author Comment

by:veradist
ID: 20384110
Ya now its working
Thanks & very kind of u....
Thanks a lot sir.

0
 
LVL 70

Accepted Solution

by:
Éric Moreau earned 500 total points
ID: 20386271
If it is working, you should accept a comment to close it
0
 
LVL 1

Author Closing Comment

by:veradist
ID: 31411893
Its a very timely help.
Thanks a lot to Expert Exchange...
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
C# Single Form 8 42
SQL Exceptions 3 43
How do I prevent the pages in my site from showing up in a google search? 2 74
Run a batch file when a Crystal Report is opened 5 27
Recently while returning home from work my wife (another .NET developer) was murmuring something. On further poking she said that she has been assigned a task where she has to serialize and deserialize objects and she is afraid of serialization. Wha…
In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question