Evaluating FastReports.NET - few questions
We evaluate FastReports as a replacement for Crystal Reports (CR). We like FR very much!! But there are a few things we like to know:
1. we do have two datasources (Articles and Packing) with a relation between the two datasources. Datasource Packing is printed by a subreport. In the subreport we have selected the right Relation. When we run the report the output is ok. But when we look in the logging of our database we do not see a WHERE statement for datasource Packing, just 'SELECT * FROM Packing'. Seems that all the rows are retrieved an the few that should be printer are filterd out..?
How do we prevent that all the rows are selected from the database (performance issue) ?
2. we are new to .NET so maybe a dummy question. When we enter a SQL query then the results gives a query without a table prefix. Ex. it returns 'description' and 'description_1' instead of 'articles_description' and 'packing_description'. Is there a setting or connection string that we can change somewhere ?
3. how do we print multilanguage reports? Of course we can create a script in our applciation that loops thru the text objects and replace the text with a translation. But we are thinking about a master reports that would be inherited. In the master report we will create the translation methods (loop text objects, search translation from a database, change text objects). We already tried to connect to a database from the report script. That failed because it seems that we could not use method for the database.
Question: is it possible to do things like looking into a database within the report and is taht the right way?
If not, are there other, smarter, multilanguage solutions?
4. About Styles. We like the idea of Styles in reports. However, when we add one Style to a report we expect that the added Style would added to the new objects automatically. But that is not true. You have to for every object the style manually. Is that right or did we overlooked something? The same for the Style at the bands. When you change the Style of the band nothings happens, you have to go the objects still. Is there any way to easily change the Style property for a
Background: endusers in general do like our reports but want to change only the font of the reports. We like to have a few styles that that can be changed by the enduser to create there 'own' reports.
Tia
Hans Groeneveld
TSD Automatiering BV
The Netherlands
Working with:
version 1.3.22
SQL Anywhere 10 (database)
1. we do have two datasources (Articles and Packing) with a relation between the two datasources. Datasource Packing is printed by a subreport. In the subreport we have selected the right Relation. When we run the report the output is ok. But when we look in the logging of our database we do not see a WHERE statement for datasource Packing, just 'SELECT * FROM Packing'. Seems that all the rows are retrieved an the few that should be printer are filterd out..?
How do we prevent that all the rows are selected from the database (performance issue) ?
2. we are new to .NET so maybe a dummy question. When we enter a SQL query then the results gives a query without a table prefix. Ex. it returns 'description' and 'description_1' instead of 'articles_description' and 'packing_description'. Is there a setting or connection string that we can change somewhere ?
3. how do we print multilanguage reports? Of course we can create a script in our applciation that loops thru the text objects and replace the text with a translation. But we are thinking about a master reports that would be inherited. In the master report we will create the translation methods (loop text objects, search translation from a database, change text objects). We already tried to connect to a database from the report script. That failed because it seems that we could not use method for the database.
Question: is it possible to do things like looking into a database within the report and is taht the right way?
If not, are there other, smarter, multilanguage solutions?
4. About Styles. We like the idea of Styles in reports. However, when we add one Style to a report we expect that the added Style would added to the new objects automatically. But that is not true. You have to for every object the style manually. Is that right or did we overlooked something? The same for the Style at the bands. When you change the Style of the band nothings happens, you have to go the objects still. Is there any way to easily change the Style property for a
Background: endusers in general do like our reports but want to change only the font of the reports. We like to have a few styles that that can be changed by the enduser to create there 'own' reports.
Tia
Hans Groeneveld
TSD Automatiering BV
The Netherlands
Working with:
version 1.3.22
SQL Anywhere 10 (database)
Comments
1) this is correct behavior. FastReport does not add anything to your SQL queries. If you need WHERE statement, you should add a query manually (see http://fast-report.com/documentation/UserM...tesqlquery.htm). Also you should define a parameter and connect it with the master query, to select detail rows automatically. In this case, you don't need to define a relation between two tables.
2) Which connector (OLE DB? ODBC?) do you use when connecting to a database?
3) There is no special means to do it automatically. The "inherited reports" is not an option because it has many restrictions when using datasources/parameters. The only way is to have several report files (one report = one language).
4) This is correct. You add one or several styles, then you apply the style to an object, manually. The user may later change the style ("Report/Styles..." menu), the object's appearance will be changed automatically.
1. I tried to put a WHERE in the subreport as follows:
- I removed the relation
- changed the SQL statement of the subreport in "SELECT * FROM Packing WHERE orderid = [OrderID]"
- add a parameter OrderID type integer, default value 1, expression [Orderlines.OrderID] (is from the head datasource).
- this seems not to work either, all the lines are show up in every order. Seems that the WHERE is ignored
Even worse, when I View the Data (right mouse button on the datasource) I see all the lines to.
I entered a orderid number in the expression that does not have Packing lines in the database, but still all the Packing lines come up .
When I enter a hard where statement (ex. SELECT * FROM packing WHERE orderid = 10) it shows the correct lines.
What I am I doing wrong?
2. We tried both, ODBC and OLE DB. Both return the column names only. We needed the fully qualified names (<table name>_<column name>).
3. Ok
4. It would make it a lot easier when the new added object inherit the Style of the Band or at least you could define some default Style. Now you have to enter for every object the Style.
Not that big issue, but we like to have it when we move to FastReports.
2) Maybe you mean "TableSchema.TableName"? OleDb/Odbc connectors do not support it.
4) Newly added object uses the last formatting. For example, if you change the existing text object's Font name to Courier, the next added object will have Courier font as well.
Thanks !!
2. That is what I mean, also called Fully Qualified column names. We have to find a workaround for this and we will contact the supplier of SQL Anywhere.
4. Font maybe, but the Style is always empty for new objects. Therefor you have to set the Style propertie for every new object manually. It would very helpfull when the Style from new object would be copied from the Band.
5. We like to contact with other FastReports customers in the Netherlands. Would you help us to contact with some Dutch customers..?
4) I'm afraid it's not possible. The style (called "last formatting") is applied at the moment when you start the insertion, there is no "parent band" here.
5) We have several customers from Netherlands; I think they read the forum, so you can communicate here.
Or do we have to change a setting somewhere (I could not find a new property).
Thanks for your quick support and builds. MUCCCCCHHHHH better then Crystal Reports !!
http://groups.google.com/group/sybase.publ...754fa7bdef15f7#
It's a .Net DataAdapter behavior. You should modify the query:
SELECT Employees.ID AS Employees_ID, Department.ID AS Department_ID
FROM Employees INNER JOIN Departments ON Employees.dep_id = Departments.ID
In this case you will get Employees_ID and Department_ID column names.
Thanks for your help.