I'm adding crystal reports to my solution, which is divide in different projects, but I cannot select the data source as an object from another project in my solution.
The thing that I want to do is to fill a report with the result of a method.
I am assuming that your method is returning a dataset or a datatable. Otherwise you will have to keep on adding the information returned from your method to a dataset in the code where you will be calling the report and use the SetDataSource to fill the report with your data.
Please refer the link given below
Creating Crystal Reports using C# with Datasets
Related
I have a Crystal Report that gets its data from a SQL Server view. The users want the view to be able to get data from a particular start/end date range which means the view needs parameters passed to it.
I have put the view's query into a SQL Server stored procedure with parameters.
I was able to get the Crystal Report in question to use that SP as part of its data and it prompts for the start/end dates just fine.
I have gone through the formula fields and was able to modify the formulas to point to the corresponding fields in the SP's data in stead of the view.
I need to somehow get the fields that are displaying in the details section of the report and other areas to utilize data from the new SP and not from the view.
I'd like to modify each control and field on the Crystal Report layout to somehow change the tablename of those fields from (CurrentTableName).(FieldName) to (NEWTableName).(FieldName). I think this would be the least intrusive because I think some of the fields being used have formatting and other attributes added to them and I don't want to do a whole bunch of detective work.
I know in other development products there is usually a properties window where you can find the TableName.FieldName for an object in the report and you can just edit it to be NEWTableName.FieldName.
I'm working with Visual Studio Reports (rdlc files) for the first time, so I'm still quite new to it, and I don't know if this can actually be done.
I want to have a report that contains multiple tables of the same "type" (i.e.: with the same columns).
Now, obviously I can do this "by hand" by adding multiple tables to the designer. But here's the catch: I don't know beforehand how many tables I have to display!
So basically what I'd want is some sort of "repeater", a way to put "a list of tables" on the report, and then pass an array of data sources in code that would be used to populate them.
Can this be done at all? I don't see anything obvious in the designer that would allow me to achieve this... is it possible?
If not, could this maybe be done with a more advanced solution, like Crystal Reports?
If your tables have the same columns - use single table with the grouping by whatever criteria that defines "how many" tables you need to have. It would appear as if you have multiple tables on the resulting report. You can display report header for each group and if needed start each on new page.
Bottom line, don't think about it as multiple tables, it's the same table with the data driving how it is being displayed on the report.
Maybe helpful:
https://msdn.microsoft.com/en-us/library/ms251700(v=vs.90).aspx
http://www.codeproject.com/Tips/767067/RDLC-Report-Grouping-with-Page-Break-Table-Header
I have a program made in Visual Basic 6 which access data from a database (made with Microsoft SQL server management studio express 2000 then migrated to 2005) and puts all data into an immense GridView.
The views, typedlists, queries, etc... all have to go through LLBLGenPro, which is used from what i learned to regenerate the entire code of our program in case we need to add anything. The project on LLBL contains entities, typedlists and typedviews. I'm not a pro of LLBLGenPro and i'm just starting to discover it
I have to add two columns to the Gridview with two specific tables columns containing the information i need. So i went onto the database to modify the view i needed to get the required data (which now gives me the two more desired rows), then i loaded the database again in LLBLGenPro and made sure to check my new fields in the typedList that contains them. I regenerated the program, and
started the visual basic project. My columns appear in all the files where they should be, with the right names (the typedlist and the views referring to it). The classes now find 23 column indexes instead of 21. All seems fine for now.
The typedList is then imported into the main class:
Private _typedList As New DBSqlTypedList.MyClassNameTypedListTypedList
All the items from the table in the DB are already loaded correctly by the code using filters and appear in the program without problem. The typedlist we need (imported as _typedList) fills the data in the gridview (GridBT) with the following lines:
If isOpenSoftware Then
With Me.gridBT
.AutoGenerateColumns = True
.AlternatingRowsDefaultCellStyle = Nothing
.DataSource = _typedList
Now here's the problem: _typedList does not see my two news rows at all and they don't appear in the grid at all.
Typing _typedList.item(0).xxxx for example gives me access to all the rows that were already there but none of the two i added appear in it.
Did I forget something in LLBLGenPro?
Don't hesitate to tell me if you think i didn't send enough code or information!
I have inhereted some project which uses Entity Framework in a way which makes it hard to make there any changes. It uses QueryViews for almost all tables (cca 50 tables) and of course stored procedures. Now I have to change there quite a lot of things ... rename tables, add tables, change columns etc.
When I tried to use the "Update Model from database ..." wizard, than after the update (where I added/removed the tables and let refresh the others using the wizard) from the database the Entity Data Model Designer rendering stops working ... there is just blank window with the text "The Entity Data Model Designer is unable to display the file you requested."
So I tried different approaches (like manually editing the edmx file), but the problem remains. The editor shows only the "The Entity Data Model Designer is unable to display the file you requested."
The mapping using QueryViews makes it probably more complicated. It is well known that the designer can not work with the QueryViews properly (one can not edit them using the designer) and the Entity framework engine even does not recognize that the columns from CSDL are mapped using the QueryViews and complains on each and every column (which is mapped using QueryView) that "Error 11009: Property 'XXX' is not mapped." I see exactly 100 errors like this. Maybe somewhere after the 100th error, there is some hint (in the form of other errors) how to fix the issue with Designer, but I don't know how to see them. The 100 limit is most likely hardcoded in VS2010 (http://stackoverflow.com/questions/2880936/how-to-increase-error-limit-in-visual-studio).
Btw. the code (classes for entities etc.) is generated without problems.
So, the question is:Is there a way how to see some log or something, where would be noted why the Entity framework Data Model Designer is not able to render anything?
Or is there at least some way how to see the rest of the errors (besides the 100 errors)?
Or does anybody know the ideal way of dealing with updating schema in EF besides using the wizard?
Try to add new EDMX and right click >> open with >> XML editor, then you can see a complete set in an empty model definition in EDMX. So you can compare the two EDMX and check notice which part of the EDMX is missing.
Here is the error link
In the end I have just do all the changes manually by editing the xml. However, I used the model designer (the GUI integrated in VS for EF) for creating the whole CSDL layer. So my approach was to carefully choose tables in the correct order and add them one by one in the multiple iterations of the following steps:
Use the model designer to create the csdl layer for the chosen table including all relations with already existing table. This at least ensured that the designer was usable later on and it saves the manual writing of the CSDL objetcs.
Write the SSDL layer, which should reflect the DB table.
Write the mapping layer (in my case using the QueryViews).
Try to compile and resolve all compile errors.
Repeat for next table (or more tables if you find it easier).
I hope this will help somebody.
I have a linq to sql generated object MyObject and this contains an EntitySet.
Now i use an XtraReport with a BindingSource.DataSource = MyObject. I have a xrTable in the Detail band (which is the only one i use btw) with four xrTableCells binded binded to properties from MyObject.MyotherObject.Property. It keeps showing me only the first record and not all of them.
Anyone with an idea?
I believe you'll need to implement the ITypedList with your custom object to use it as a datasource. Check out this online documentation article for more info:
http://www.devexpress.com/Help/?document=XtraReports/CustomDocument4046.htm
I have just solved a similar problem. Did you use typed datasets to help you layout the report at design time? If you did then clear the Data Source in design view. If you apply LINQ to SQL Data Source at runtime without clearing the typed dataset Data Source in the design view, you may get only one row showing in the detail band.
i have similar problem and tried above answers, but it was so simple
just set your report DataMember to the name of your sub collection MyObject.MyotherObject
and the table will load all items in your sub collection.
XtraReport report = new XtraReport(){DataSource = MyObject,DataMember="MyotherObject" };