End-User Designer
Hello,
I am currently evaluating FastReport for inclusion into our software product. We are currently using Crystal Reports and we need end-user design capabilities. Currently we recommend that our users purchase Crystal but we would like to incorporate a designer into our software. FastReport seems like an ideal solution for us but I have some questions and concerns.
In essence I would like to prevent the user from creating reports, adding pages, editing code etc. Unfortunately, it appears that some of these features cannot be turned off and in some instances even where a restriction is available, it doesn't seem to prevent the action. I like the fact that the main menu can be hidden, but the toolbar can't and the buttons aren't accessible.
The following is a list of issues that I have identified:
- Setting the 'DontCreateData' restriction doesn't prevent the user from creating a data source via the 'Add New Item' toolbar button.
- Setting the 'DontCreatePage' restriction doesn't prevent the user from creating a page via the 'Add New Item' toolbar button.
- Setting the 'DontCreatePage' restriction doesn't disable the 'New Report Page' toolbar button when the form is displayed for the first time. The toolbar button will become disabled if the user performs certain actions like switching between the code page and the report page. It appears that a toolbar state update must be triggered before the setting takes effect.
- Individual toolbar buttons should be able to be hidden just like menu items
- The toolbars should be accessible via a 'Toolbar' property just as the menu is available via the 'MainMenu' property
- All menu items are not exposed via the 'MainMenu' property. In particular, the 'Messages', 'Report Tree', 'Properties' and 'Data' menu items in the 'View' menu are not available via the 'MainMenu' property.
- There should be a ''ShowXxxToolbar' property for each toolbar (i.e. 'ShowStandardToolbar')
- There should be properties that allow each ToolWindow to be hidden
- The ToolWindows should be exposed so that docking can be allowed/prevented via code.
Overall this is an excellent product and I understand that the .Net version is relatively new. Perhaps I don't fully understand how to use it. Any guidance is greatly appreciated.
Thanks,
Mike
I am currently evaluating FastReport for inclusion into our software product. We are currently using Crystal Reports and we need end-user design capabilities. Currently we recommend that our users purchase Crystal but we would like to incorporate a designer into our software. FastReport seems like an ideal solution for us but I have some questions and concerns.
In essence I would like to prevent the user from creating reports, adding pages, editing code etc. Unfortunately, it appears that some of these features cannot be turned off and in some instances even where a restriction is available, it doesn't seem to prevent the action. I like the fact that the main menu can be hidden, but the toolbar can't and the buttons aren't accessible.
The following is a list of issues that I have identified:
- Setting the 'DontCreateData' restriction doesn't prevent the user from creating a data source via the 'Add New Item' toolbar button.
- Setting the 'DontCreatePage' restriction doesn't prevent the user from creating a page via the 'Add New Item' toolbar button.
- Setting the 'DontCreatePage' restriction doesn't disable the 'New Report Page' toolbar button when the form is displayed for the first time. The toolbar button will become disabled if the user performs certain actions like switching between the code page and the report page. It appears that a toolbar state update must be triggered before the setting takes effect.
- Individual toolbar buttons should be able to be hidden just like menu items
- The toolbars should be accessible via a 'Toolbar' property just as the menu is available via the 'MainMenu' property
- All menu items are not exposed via the 'MainMenu' property. In particular, the 'Messages', 'Report Tree', 'Properties' and 'Data' menu items in the 'View' menu are not available via the 'MainMenu' property.
- There should be a ''ShowXxxToolbar' property for each toolbar (i.e. 'ShowStandardToolbar')
- There should be properties that allow each ToolWindow to be hidden
- The ToolWindows should be exposed so that docking can be allowed/prevented via code.
Overall this is an excellent product and I understand that the .Net version is relatively new. Perhaps I don't fully understand how to use it. Any guidance is greatly appreciated.
Thanks,
Mike
Comments
The following reply was sent from AlexTZ via email. Answers in bold...
1. Setting the 'DontCreateData' restriction doesn't prevent the user from creating a data source via the 'Add New Item' toolbar button.
2. Setting the 'DontCreatePage' restriction doesn't prevent the user from creating a page via the 'Add New Item' toolbar button.
(1,2) will be fixed in the next daily build.
3. Setting the 'DontCreatePage' restriction doesn't disable the 'New Report Page' toolbar button when the form is displayed for the first time. The toolbar button will become disabled if the user performs certain actions like switching between the code page and the report page. It appears that a toolbar state update must be triggered before the setting takes effect.
Setting the
Config.DesignerSettings.Restrictions.DontCreatePage = true;
before run the designer will solve the problem.
4. Individual toolbar buttons should be able to be hidden just like menu items
5. The toolbars should be accessible via a 'Toolbar' property just as the menu is available via the 'MainMenu' property
Toolbars are marked as internal, you cannot access them directly. You may use this code:
ToolbarBase standardToolbar = designer.Plugins.Find("StandardToolbar") as ToolbarBase;
foreach (BaseItem item in standardToolbar.Items)
{
if (item.Name == "btnStdSave")
item.Visible = false;
}
6. All menu items are not exposed via the 'MainMenu' property. In particular, the 'Messages', 'Report Tree', 'Properties' and 'Data' menu items in the 'View' menu are not available via the 'MainMenu' property.
7. There should be a ''ShowXxxToolbar' property for each toolbar (i.e. 'ShowStandardToolbar')
8. There should be properties that allow each ToolWindow to be hidden
9. The ToolWindows should be exposed so that docking can be allowed/prevented via code.
All these items are plugins and can be attached to the designer dynamically. You can access them via the Plugins property.
Best regards,
Alexander Tzyganenko