Hello. I am posting a question like this because I keep getting errors while using the report.
This problem only occurs on the project I am currently working on.
"An exception of type 'System.NullReferenceException' occurred in
PresentationFramework.dll but was not handled in user code Additional information
: Object reference not set to an instance of an object."
When creating a new project with the same reference, no error appears.
What is the problem? Leave the sauce below.
Telerik 2020.3.915.40 Version References(7)
Telerik.Windows.Controls Telerik.Windows.Controls.Chart Telerik.Windows.Controls.Data Telerik.Windows.Controls.GridView
Telerik.Windows.Controls.Input Telerik.Windows.Controls.Navigation Telerik.Windows.Data
TelerikReporting 14.2.20.916 Version References(5)
Telerik.Reporting Telerik.Reporting.OpenXmlRendering Telerik.Reporting.OpenXmlRendering Telerik.ReportViewer.Wpf Telerik.ReportViewer.Wpf.Themes
=Xaml======================================================================================
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/SKC_QTO;component/Plugin/Themes/Report/System.Windows.xaml" />
<ResourceDictionary Source="pack://application:,,,/SKC_QTO;component/Plugin/Themes/Report/Telerik.Windows.Controls.xaml" />
<ResourceDictionary Source="pack://application:,,,/SKC_QTO;component/Plugin/Themes/Report/Telerik.Windows.Controls.Input.xaml" />
<ResourceDictionary Source="pack://application:,,,/SKC_QTO;component/Plugin/Themes/Report/Telerik.Windows.Controls.Navigation.xaml" />
<ResourceDictionary Source="pack://application:,,,/SKC_QTO;component/Plugin/Themes/Report/Telerik.ReportViewer.Wpf.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button x:Name="ChangeReportButton" Grid.Row="0" Height="30" Width="100" Command="{Binding ThisCommand}" Content="Change Report" Margin="0,0,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" >
</Button>
<tr:ReportViewer Grid.Row="1" x:Name="ReportViewer1" HorizontalAlignment="Stretch" ReportSource="{Binding MyReportSource}">
</tr:ReportViewer>
</Grid>
=Xaml.cs======================================================================================
public partial class ReportingView : Window
{
internal const string TelerikVersion = "2020.3.915.40";
internal const string TelerikPublicKeyToken = "~~~~~~~~~~";
internal const string Culture = "~~~~~~";
public ReportingView()
{
// This is for testing purposes. Assembly is initially registered at startup.
Assembly.Load($"Telerik.Windows.Controls, Version={TelerikVersion}, Culture={Culture}, PublicKeyToken={TelerikPublicKeyToken}");
Assembly.Load($"Telerik.Windows.Controls.Chart, Version={TelerikVersion}, Culture={Culture}, PublicKeyToken={TelerikPublicKeyToken}");
Assembly.Load($"Telerik.Windows.Controls.Data, Version={TelerikVersion}, Culture={Culture}, PublicKeyToken={TelerikPublicKeyToken}");
Assembly.Load($"Telerik.Windows.Controls.GridView, Version={TelerikVersion}, Culture={Culture}, PublicKeyToken={TelerikPublicKeyToken}");
Assembly.Load($"Telerik.Windows.Controls.Input, Version={TelerikVersion}, Culture={Culture}, PublicKeyToken={TelerikPublicKeyToken}");
Assembly.Load($"Telerik.Windows.Controls.Navigation, Version={TelerikVersion}, Culture={Culture}, PublicKeyToken={TelerikPublicKeyToken}");
Assembly.Load($"Telerik.Windows.Data, Version={TelerikVersion}, Culture={Culture}, PublicKeyToken={TelerikPublicKeyToken}");
InitializeComponent(); <<<<< This Error ★★★★★★★★★★
this.DataContext = new ViewModel();
//DataContext = new ReportingViewModel();
}
}
=ViewModel.cs======================================================================================
class ViewModel : INotifyPropertyChanged
{
private int testCounter = 0;
public event PropertyChangedEventHandler PropertyChanged;
Telerik.Reporting.ReportSource _myReportSource;
public Telerik.Reporting.ReportSource MyReportSource
{
get { return this._myReportSource; }
set
{
if (this._myReportSource != value)
{
this._myReportSource = value;
if (null != this.PropertyChanged)
{
this.PropertyChanged(this, new PropertyChangedEventArgs("MyReportSource"));
}
}
}
}
public ViewModel()
{
this.MyReportSource = new InstanceReportSource { ReportDocument = null };
_thisCommand = new Telerik.Windows.Controls.DelegateCommand(x => ChangeReport());
}
ICommand _thisCommand;
public ICommand ThisCommand
{
get
{
return _thisCommand;
}
}
public void ChangeReport()
{
if (testCounter % 2 == 1)
this.MyReportSource = new InstanceReportSource { ReportDocument = new Report1() };
else
this.MyReportSource = new InstanceReportSource { ReportDocument = null };
testCounter++;
}
============================================================================================
Thanks.
Currently running version R1 2020 SP1 (14.0.20.219) with the HTML 5 report viewer and the REST service ASP.NET Core 3.1
I am trying to set the database connection string dynamically using the method outlined in the knowledge base article below which passes it as a report parameter.
Change Connection String dynamically through a report parameter
This approach should be fine, however the issue is that I cannot find a way to modify the report parameters so that the connection string can be passed in.
I have tried to define a custom report resolver like the example below which adds the parameter to the report source. But I am finding that the parameter value does not get passed into the report.
We are using .trdp files as our report source and I have seen some examples where people have unpacked the file to return an InstanceReportSource. By doing this it might be possible to set the parameters against the report object directly.
Can anyone suggest a better way to set report parameters within the REST service (ie without passing the parameters from the client)?
Thanks
Andrew
public
class
CustomReportResolver : ReportFileResolver
{
private
readonly
IDdrConnectionService _ddr;
private
readonly
IHttpContextAccessor _httpContextAccessor;
public
CustomReportResolver(IDdrConnectionService ddr,
IHttpContextAccessor httpContextAccessor,
string
repositoryDirectory) :
base
(repositoryDirectory)
{
_ddr = ddr;
_httpContextAccessor = httpContextAccessor;
}
protected
override
ReportSource ResolveReport(
string
report)
{
ReportSource reportSource =
base
.ResolveReport(report);
Guid tenantId = _httpContextAccessor.HttpContext.User.GetTenantId();
string
connString = _ddr.GetShardConnectionString(tenantId);
reportSource.Parameters.Add(
"ConnectionString"
, connString);
return
reportSource;
}
}
Hello,
I'm currently facing a problem with Telerik Reporting menus in Visual Studio 2019.
Last week I've created some reports, all was working well.
Today, I had to modify some of them but report files are not displaying icons of reports but of c# code.
When right clicking on my reports I don't have designer menu anymore (View designer menu).
What's really strange is that on other older reports, I still have this menu available and can view the designer.
I havent installed VS update
I tried to reinstall Telerik reporting package on my machine
Nothing changes.
The fact is that there is a difference between old reports and the one I created last week that make the first ones editable and the last ones not.
Do you know where I could search to find this difference that would make me able to edit them again please ?
Thanks
Regards
Hello, I am getting:
"Unable to get report parameters.
An error has occurred.
Object reference not set to an instance of an object."
when trying to load a report into the HTML5 report viewer.
Code snippets below - resolve nevere gets called, but the payload of the POST looks correct. Any ideas?
<script type=
"text/javascript"
>
$(document).ready(
function
() {
$(
"#reportViewer1"
)
.telerik_ReportViewer({
// The URL of the service which will serve reports.
// The URL corresponds to the name of the controller class (ReportsController).
// For more information on how to configure the service please check http://www.telerik.com/help/reporting/telerik-reporting-rest-conception.html.
serviceUrl:
"/reportdata/"
,
// The URL for the report viewer template. The template can be edited -
// new functionalities can be added and unneeded ones can be removed.
// For more information please check http://www.telerik.com/help/reporting/html5-report-viewer-templates.html.
// templateUrl: 'ReportViewer/templates/telerikReportViewerTemplate.html',
//ReportSource - report description
reportSource: {
// The report can be set to a report file name (.trdx or .trdp report definition)
// or CLR type name (report class definition).
report: { reportId: 89 },
// Parameters name value dictionary
parameters: { foo: 1}
},
//parameters: {
// editors: {
// singleSelect: telerikReportViewer.ParameterEditorTypes.COMBO_BOX,
// multiSelect: telerikReportViewer.ParameterEditorTypes.COMBO_BOX,
// }
//},
// Specifies whether the viewer is in interactive or print preview mode.
// PRINT_PREVIEW - Displays the paginated report as if it is printed on paper. Interactivity is not enabled.
// INTERACTIVE - Displays the report in its original width and height without paging. Additionally interactivity is enabled.
viewMode: telerikReportViewer.ViewModes.INTERACTIVE,
// Sets the scale mode of the viewer.
// Three modes exist currently:
// FIT_PAGE - The whole report will fit on the page (will zoom in or out), regardless of its width and height.
// FIT_PAGE_WIDTH - The report will be zoomed in or out so that the width of the screen and the width of the report match.
// SPECIFIC - Uses the scale to zoom in and out the report.
scaleMode: telerikReportViewer.ScaleModes.SPECIFIC,
// Zoom in and out the report using the scale
// 1.0 is equal to 100%, i.e. the original size of the report
scale: 1.0,
//Enables or disables the accessibility features of the report viewer and its contents.
enableAccessibility:
false
,
//If set to true shows the Send Mail Message toolbar button
sendEmail: { enabled:
true
}
});
});
</script>
public
class
ReportSourceResolver : IReportSourceResolver
{
private
string
_reportDbConnectionString;
public
ReportSourceResolver(
string
reportDbConnectionString)
{
_reportDbConnectionString = reportDbConnectionString;
}
public
Telerik.Reporting.ReportSource Resolve(
string
reportId,OperationOrigin operationOrigin, IDictionary<
string
,
object
> currentParameterValues)
{
sproc_ReportDetailsXMLGet_Wrapper.In_Type inparams =
new
sproc_ReportDetailsXMLGet_Wrapper.In_Type()
{
ReportId = reportId.ToNullableInt(),
};
var sp =
new
sproc_ReportDetailsXMLGet_Wrapper(inparams);
_ = ReportingDB.ExecOn(_reportDbConnectionString).SpCall(sp);
var outrecord = sp.Out.Records[0];
return
new
Telerik.Reporting.XmlReportSource { Xml = outrecord.SerializedReport };
}
}
}
$(
"#summaryReport"
).click(
function
() {
var
viewer = $(
"#reportViewer1"
).data(
"telerik_ReportViewer"
);
viewer.reportSource({
report:
"Sumaren.trdp"
,
parameters: {}
});
viewer.refreshReport();
});
$(
"#reportViewer1"
)
.telerik_ReportViewer({
serviceUrl:
"api/reports/"
,
//ReportSource - report description
reportSource: {
// The report can be set to a report file name (trdx report definition)
// or CLR type name (report class definition).
},
viewMode: telerikReportViewer.ViewModes.INTERACTIVE,
scaleMode: telerikReportViewer.ScaleModes.SPECIFIC,
scale: 1.0,
enableAccessibility:
true
,
ready:
function
() {
this
.refreshReport();
},
});
Hey guys,
I want to change the Tooltip-Labels (and any other labels) of the ReportViewer in my C# WPF Application.
I don't want to localize anything in my report. ust these default buttons.
Is there any way I can do this? I tried to set the Language property to de-DE but it not affected anything.
I would be glad about any help.
Greetings
Benedikt
Hi guys,
at the moment we are trying to figure out if we can use the Telerik Reporting to generate receipts on a thermo printer with endless paper.
We found the ContinuousPaper setting within the PageSettings but it doesn't seems to be working as expected. We are using the latest Version of Reporting (2018 R3)
When using the ContinuousPaper everything looks fine in the preview but after printing the paper gets cut after one DINA4 page. This happens when printing on the printer and when printing to a PDF file.
The only settings we have made is setting the ContinuousPaper property and adding a lot of textboxes to the report designer.
Any idea what we are doing wrong?
I've been through the docs at least twice and obviously I'm missing quite a bit.
Created two simple, identical, reports with the wizard. One with the report designer, Report1, the other in VS2019, Report2. They are calling a stored procedure in SQL Server 2016, with a parameter. Both preview in the designers just fine. Both reports have a parameter set...@batchid Int32 6000
Stored procedure: select * from batches where batchid=@batchid
I've added the NeedDataSource event to the reports
Telerik.Reporting.UriReportSource uriReportSource =
new
Telerik.Reporting.UriReportSource();
uriReportSource.Parameters.Add(
new
Telerik.Reporting.Parameter(
"@batchid"
, 7929));
uriReportSource.Uri = @
"nunya\Report1.trdp"
;
reportViewer1.reportSource = uriReportSource;
reportViewer1.RefreshReport();
The trdp complains it can't find a connection string. IDK why. There is one in the app.config file which the rest of the application happily uses. When the connection string is embedded, it still does NOT use the Uri parameter.
Telerik.Reporting.TypeReportSource typeReportSource =
new
Telerik.Reporting.TypeReportSource();
typeReportSource.Parameters.Add(
new
Telerik.Reporting.Parameter(
"@batchid"
, 7929));
typeReportSource.TypeName =
typeof
(Report2).AssemblyQualifiedName;
reportViewer.reportSource=typeReportSource;
reportViewer1.RefreshReport();
Here, an exception is thrown in the Report1_NeedDataSource event:.report.Parameters is empty.
Do you have a sample winforms app which uses either the northwind or adventure works databases?
TIA