Fridli Jacober
Top achievements
Rank 1
Fridli Jacober
asked on 13 Jul 2010, 12:32 PM
hi
is it possible to set the position of an item with a value from the database?
we want to let the users set where the logo and the address block is positioned.
I tried this but it does not seem to work:
With (for testing)
Thanks for help
is it possible to set the position of an item with a value from the database?
we want to let the users set where the logo and the address block is positioned.
I tried this but it does not seem to work:
Me.HtmlTextBox1.Location = New Telerik.Reporting.Drawing.PointU(New Telerik.Reporting.Drawing.Unit(CDbl("=Fields.Settings_List_AdresseX"), Telerik.Reporting.Drawing.UnitType.Cm), [...]) With (for testing)
SELECT [...], 10 AS Settings_List_AdresseX FROM [dbo].[...]Thanks for help
4 Answers, 1 is accepted
0
Accepted
Hi Roland Meier,
You cannot use an expression to set a report item's location property directly, instead you can set the Location with the help of Bindings and an User Function as the one shown in the following code snippet:
Binding:
Property Path Expression
------------------------------------------------------------------------------------
Location =location(Fields.Settings_List_AdresseX)
Check out the attached sample report. I have used a Report Parameter to set a TextBox's location with Bindings and User Function. Best wishes,
Peter
the Telerik team
You cannot use an expression to set a report item's location property directly, instead you can set the Location with the help of Bindings and an User Function as the one shown in the following code snippet:
public static Telerik.Reporting.Drawing.PointU location(double d){ return new Telerik.Reporting.Drawing.PointU(new Telerik.Reporting.Drawing.Unit(d, Telerik.Reporting.Drawing.UnitType.Inch), new Telerik.Reporting.Drawing.Unit(d, Telerik.Reporting.Drawing.UnitType.Inch));}Binding:
Property Path Expression
------------------------------------------------------------------------------------
Location =location(Fields.Settings_List_AdresseX)
Check out the attached sample report. I have used a Report Parameter to set a TextBox's location with Bindings and User Function. Best wishes,
Peter
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items
0
Fridli Jacober
Top achievements
Rank 1
answered on 16 Jul 2010, 08:49 AM
Hi Peter
Thanks for your help. Sounds great but I have problems with the code.
I have:
KursAufgebot.vb
and
KursAufgebot.Designer.vb
This causes the following error in preview:
I think I did the same as you did in your files (with the difference its vb.net not c#)
Can you see what I do wrong?
Thanks a lot
Roland
Thanks for your help. Sounds great but I have problems with the code.
I have:
KursAufgebot.vb
Imports System.ComponentModel Imports System.Drawing Imports System.Windows.Forms Imports Telerik.Reporting Imports Telerik.Reporting.Drawing Partial Public Class KursAufgebot Inherits Telerik.Reporting.Report Public Sub New() InitializeComponent() Dim ReportParameter1 As Telerik.Reporting.ReportParameter = New Telerik.Reporting.ReportParameter Dim ReportParameter2 As Telerik.Reporting.ReportParameter = New Telerik.Reporting.ReportParameter ReportParameter1.Name = "sprache" ReportParameter1.Text = "sprache" ReportParameter1.Value = "<de>" ReportParameter2.Name = "AdFObjectID" ReportParameter2.Text = "AdFObjectID" ReportParameter2.Value = "..." Me.ReportParameters.Add(ReportParameter1) Me.ReportParameters.Add(ReportParameter2) End Sub Public Shared Function setLocation(ByVal x As Double) As Telerik.Reporting.Drawing.PointU Return New Telerik.Reporting.Drawing.PointU(New Telerik.Reporting.Drawing.Unit(x, Telerik.Reporting.Drawing.UnitType.Cm), New Telerik.Reporting.Drawing.Unit(0, Telerik.Reporting.Drawing.UnitType.Cm)) End FunctionEnd Classand
KursAufgebot.Designer.vb
[...] Me.HtmlTextBox1.Bindings.Add(New Telerik.Reporting.Binding("Location", "=setLocation(10)")) Me.HtmlTextBox1.Location = New Telerik.Reporting.Drawing.PointU(New Telerik.Reporting.Drawing.Unit(0, Telerik.Reporting.Drawing.UnitType.Cm), New Telerik.Reporting.Drawing.Unit(0.31999999284744263, Telerik.Reporting.Drawing.UnitType.Cm)) Me.HtmlTextBox1.Name = "HtmlTextBox1" Me.HtmlTextBox1.Size = New Telerik.Reporting.Drawing.SizeU(New Telerik.Reporting.Drawing.Unit(6.9000000953674316, Telerik.Reporting.Drawing.UnitType.Cm), New Telerik.Reporting.Drawing.Unit(2.1999998092651367, Telerik.Reporting.Drawing.UnitType.Cm)) resources.ApplyResources(Me.HtmlTextBox1, "HtmlTextBox1") [...]This causes the following error in preview:
An error has occured while processing HtmlTextBox 'HtmlTextBox1': The expression contains undefined function call setLocation().I think I did the same as you did in your files (with the difference its vb.net not c#)
Can you see what I do wrong?
Thanks a lot
Roland
0
Hello Roland Meier,
Your User Function expects Double while you are providing Integer data type thus the reporting engine is looking for an User Function setLocation(ByVal x As Integer). To avoid this you have to use the build in cast function CDbl() in the Bindings Expression:
Peter
the Telerik team
Your User Function expects Double while you are providing Integer data type thus the reporting engine is looking for an User Function setLocation(ByVal x As Integer). To avoid this you have to use the build in cast function CDbl() in the Bindings Expression:
setLocation(CDbl(10))
Kind regards,Peter
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Fridli Jacober
Top achievements
Rank 1
answered on 22 Jul 2010, 05:51 AM
works great - thanks!