Want to show a custom error message box instead of default errorMessageForm (stiJsViewerForm)
- 
				shyam.pundkar
- Posts: 56
- Joined: Fri Feb 21, 2014 9:26 am
Want to show a custom error message box instead of default errorMessageForm (stiJsViewerForm)
Hi,
We want to show our application specific message box whenever the report generation fails.
ATM it shows stimulsoft error message stiJsViewerForm. Is there any way to know if the report generation failed, at the client side using StiJsViewer? any events?
Thanks
Shyam
			
			
									
									
						We want to show our application specific message box whenever the report generation fails.
ATM it shows stimulsoft error message stiJsViewerForm. Is there any way to know if the report generation failed, at the client side using StiJsViewer? any events?
Thanks
Shyam
- 
				Lech Kulikowski
- Posts: 7466
- Joined: Tue Mar 20, 2018 5:34 am
Re: Want to show a custom error message box instead of default errorMessageForm (stiJsViewerForm)
Hello,
Which error do you have, in which moment it occurs?
Thank you.
			
			
									
									
						Which error do you have, in which moment it occurs?
Thank you.
- 
				shyam.pundkar
- Posts: 56
- Joined: Fri Feb 21, 2014 9:26 am
Re: Want to show a custom error message box instead of default errorMessageForm (stiJsViewerForm)
Hi,
We give data to viewer and do postaction.
jsReportViewer.options.formValues = {
selectionData: jsonData
};
model.jsReportViewer.postAction();
so all control is handed over to viewer now. which does further call, rendering,error handling etc
We do business validation while generating the report on the server side. On validation fail we return our own customized error message, eg. 'xyz data is missing please contact admin'. The viewer handles our customized message through its own error handling mechanism on client and show it.
The requirement is that the reportviewer should not handle the error by itself instead it should let the host to handle that. so that we can execute our own business logic on error.
Please let me know if have more questions...
			
			
									
									
						We give data to viewer and do postaction.
jsReportViewer.options.formValues = {
selectionData: jsonData
};
model.jsReportViewer.postAction();
so all control is handed over to viewer now. which does further call, rendering,error handling etc
We do business validation while generating the report on the server side. On validation fail we return our own customized error message, eg. 'xyz data is missing please contact admin'. The viewer handles our customized message through its own error handling mechanism on client and show it.
The requirement is that the reportviewer should not handle the error by itself instead it should let the host to handle that. so that we can execute our own business logic on error.
Please let me know if have more questions...
- 
				Lech Kulikowski
- Posts: 7466
- Joined: Tue Mar 20, 2018 5:34 am
Re: Want to show a custom error message box instead of default errorMessageForm (stiJsViewerForm)
Hello,
Please try to check the following code:
Thank you.
			
			
									
									
						Please try to check the following code:
Code: Select all
var viewer = new Stimulsoft.Viewer.StiViewer(viewerOptions, "StiViewer", false);
viewer.renderHtml("content");
var errorForm = viewer.jsObject.controls.forms.errorMessageForm || viewer.jsObject.InitializeErrorMessageForm();
errorForm.show("Message text!");- 
				shyam.pundkar
- Posts: 56
- Joined: Fri Feb 21, 2014 9:26 am
Re: Want to show a custom error message box instead of default errorMessageForm (stiJsViewerForm)
Hi,
we dont use renderhtml(). we use postaction().
once we call viewer.postaction() we dont get any call back notifying the report generation outcome.
Can you recommend a way for call back from viewer please? i guess that way we will know if anything goes wrong in the viewer.
Thanks
Shyam
			
			
									
									
						we dont use renderhtml(). we use postaction().
once we call viewer.postaction() we dont get any call back notifying the report generation outcome.
Can you recommend a way for call back from viewer please? i guess that way we will know if anything goes wrong in the viewer.
Thanks
Shyam
- 
				Lech Kulikowski
- Posts: 7466
- Joined: Tue Mar 20, 2018 5:34 am
Re: Want to show a custom error message box instead of default errorMessageForm (stiJsViewerForm)
Hello,
Please check the following code:
Thank you.
			
			
									
									
						Please check the following code:
Code: Select all
var viewer = new Stimulsoft.Viewer.StiViewer(viewerOptions, "StiViewer", false);
            viewer.renderHtml("content");
            //ovveride callback method
            viewer.jsObject.showReportPage_ = viewer.jsObject.showReportPage;
            viewer.jsObject.showReportPage = function (data, jsObject) {
                //postAction callback here
                if (typeof data == "string" && data.indexOf("ServerError:") == 0) {
                    //for example
                    var errorForm = viewer.jsObject.controls.forms.errorMessageForm || viewer.jsObject.InitializeErrorMessageForm();
                    errorForm.show("Message text!");
                }
                viewer.jsObject.showReportPage_(data, jsObject);
            }- 
				shyam.pundkar
- Posts: 56
- Joined: Fri Feb 21, 2014 9:26 am
Re: Want to show a custom error message box instead of default errorMessageForm (stiJsViewerForm)
It worked! Thank you so much!
			
			
									
									
						- 
				Lech Kulikowski
- Posts: 7466
- Joined: Tue Mar 20, 2018 5:34 am
Re: Want to show a custom error message box instead of default errorMessageForm (stiJsViewerForm)
Hello
We are always glad to help you!
Thank you.
			
			
									
									
						We are always glad to help you!
Thank you.
- 
				alexey.eureca
- Posts: 1
- Joined: Wed Dec 02, 2020 3:31 pm
Re: Want to show a custom error message box instead of default errorMessageForm (stiJsViewerForm)
HelloLech Kulikowski wrote: ↑Thu Mar 07, 2019 12:57 pm Hello,
Please check the following code:Thank you.Code: Select all
var viewer = new Stimulsoft.Viewer.StiViewer(viewerOptions, "StiViewer", false); viewer.renderHtml("content"); //ovveride callback method viewer.jsObject.showReportPage_ = viewer.jsObject.showReportPage; viewer.jsObject.showReportPage = function (data, jsObject) { //postAction callback here if (typeof data == "string" && data.indexOf("ServerError:") == 0) { //for example var errorForm = viewer.jsObject.controls.forms.errorMessageForm || viewer.jsObject.InitializeErrorMessageForm(); errorForm.show("Message text!"); } viewer.jsObject.showReportPage_(data, jsObject); }
How can i do the same do the same thing for ASP.NET MVC?
Thanks
- 
				Lech Kulikowski
- Posts: 7466
- Joined: Tue Mar 20, 2018 5:34 am
Re: Want to show a custom error message box instead of default errorMessageForm (stiJsViewerForm)
Hello,
You can use the following code:
Thank you.
			
			
									
									
						You can use the following code:
Code: Select all
//where jsMvcViewer1 - "js" + Viewer ID
    jsMvcViewer1.onready = function () {
        //ovveride callback method
        jsMvcViewer1.showReportPage_ = jsMvcViewer1.showReportPage;
        jsMvcViewer1.showReportPage = function (data, jsObject) {
            //postAction callback here
            if (typeof data == "string" && data.indexOf("ServerError:") == 0) {
                //for example
                var errorForm = jsMvcViewer1.controls.forms.errorMessageForm || jsMvcViewer1.InitializeErrorMessageForm();
                errorForm.show("Message text!");
            }
            jsMvcViewer1.showReportPage_(data, jsObject);
        }
    }