How to add the title to a Telerik report? - telerik

I have a report, which works fine. And now, I want to add a title to it. I would like the header to be the title of the report.
How shoud I proceed to get the above done?

Set the name of the report like normal in the properties window. Then set the value of the Header's text element to:
= ReportItem.ParentElement.ParentElement.ParentElement.Name
Note that the number of ParentElements depends on how many nested elements the header textbox is in. For me, the correct number was three, as =ReportItem.Name returned something like "TextBox2", =ReportItem.ParentElement.Name, returned"Detail" and = ReportItem.ParentElement.ParentElement.Name returned nothing.
Further reading

Related

Apex main region header with dynamic value

I have tried everything I know to make title of header replicate items value, including substitution string &P10_TITLE_TEXT. inside headers title property. Generally, this would work for normal region, but in my case I try to modify value of pages main region, which is rendering first, before any other item. My assumption is that title text is not showing because it cannot see items value yet.
Is there a simple way to refresh title header after items are ready, or perhaps another better solution?
PS: This is main header of the modal dialog page, that has no property for setting static id, and it's template is less adjustable then normal regions.
Try the following javascript in "Execute When Page Loads" of the modal page:
$('.ui-dialog-title',parent ? parent.document : document).text( apex.items. P10_TITLE_TEXT.value );
Pre-Rendering computations may be the solution here.
You can try creating a computation before Regions under Pre-Rendering to set &P10_TITLE_TEXT.. There will be no need to "refresh". This is if you are simply loading it once.
If you are trying to set headers based on input every time you change it, I would advise separating into two pages so you can submit the page and APEX can reload and process, or just use javascript.

Report preview not showing hardcoded XML field value

I have an xml file with a simple structure like the following.
The following is what I have configured for my data set retrieval for the name attribute called 'CLNNAME'. And the value 'Hello' is displayed when previewing the report.
Then I have the following which is the one I want use but for some reason it does not display the value when previewing the report. Any shed of light into why the weird behaviour occurs when attribute names are hardcoded. Your help is highly appreciated. Thank you in advance.

Knockout set initial value of an input field where html is allowed

I have two input fields first name and last name.
Application was running really well.
Suddenly someone came in from Mars and input something like this in those input fields
*(~'##~>?<+!""*%$)!
for both first name and last name. Now don't ask me why he did this cause in Mars this is very common. You can try it on this fiddle
http://jsfiddle.net/farrukhsubhani/3RjRF/
This text then went into my database and now when i retrieve it it came back like this
*(~'##~>?<+!""*%$)
which is ok for me as its html and I can place it back into knockout and it gets populated as html as you can see in fiddle above. However this Mars guy then thought that on Earth this is not a nice name to be with so he tried to edit field.
The above fiddle is kind of that edit page which shows him old value at bottom and two fields at top. He does not know html so he thought we have changed his name in input fields however I need to know
When passing text to knockout to give initial value to an input field is it possible to tell it that consider this text as html so it renders properly in input field
The other way around is to send him to http://www.w3schools.com/tags/ref_entities.asp and tell him about reserved HTML characters. This info has been stored in database (using Entity Framework simple person.fname and person.lname both with attribute AllowHTML) so on my fiddle i have just placed it in two variables and you can see how actual text boxes are different than html below. If i dont bind using Knockout then actual text is shown in these boxes and user can edit <>' signs without any problem.
Anyone with a solution before he leaves our planet. This can change alien life on our planet.
Update
If i go into this field and paste (~'##~>?<+!""*%$)" binding works fine and you can copy this and paste it into fiddle to see that. However its not taking that value from Javascript variable to knockout expects it to be a string and html special characters are not shown properly in input field.
We have done another test without Knockout and this text does get rendered within the field when you try to edit it its fine.
We have updated JSfiddle to work without JQuery and its the same result if you store it in a js variable and give not value to input field
http://jsfiddle.net/farrukhsubhani/3RjRF/3/
If we assign value to input field and just use jQuery to populate fullname then it works
http://jsfiddle.net/farrukhsubhani/3RjRF/4/
This last fiddle is a working example and we want Knockout to do what JQuery is doing.
I think the question then comes to how can this text be stored in javascript variable and placed into input field as html text so special characters appear unescaped. You can try unescape on jsfiddle that did not work for us.
Somewhere along the trip into (or maybe out of) your database, the value is being HTML-escaped. It's not Knockout itself that's doing it. You're going to need to track that location down, but you can't just disable it; you're going to have to replace it with something that sanitizes the result or otherwise you're opening yourself up to cross-site scripting attacks (any <script>s from external sources inserted into the input would have complete access to your data).
Any time you see the html: binding used, warning bells should go off in your head and you should VERY carefully to check to ensure that there's NO possibility of raw, unexamined user input making it into the string that gets displayed.
Ok here is what i did at the end
http://jsfiddle.net/farrukhsubhani/3RjRF/7/
I have done following:
I have added value attribute to input field and placed the input text as it came from server into it. Because I am using TextBoxFor in MVC it did that for me.
Before I apply knockout binding I have picked this value up using $('#kfname') and passed it to the actual binding so it used the value that came from server. Previously it was passed like (#Model.fname,#Model.lname)
I think what this did was allowed jQuery to pick up the value and assign it to binding instead of variable
ko.applyBindings(new ViewModel($("#kfname").val(), $("#klname").val()));
Hopefully this would help someone using knockout.

Displaying a text on the last page of crystal report?

This might be a very naive question but i am not able to get to it.
I have a simple text object that i wish to display only on the last page of the report after all my details section and group footer sections are displayed.
I have tried applying Suppress property on page footer to work, but it does not happen. Then i tried suppressing the text object but that did not work as well.
This is what i pushed into formula field:
if PageNumber = TotalPageCount then
false
else
true
Am i missing something.
Any help will be highly appreciated.
Thanks in advance.
Try putting your text object in the Report Footer section.
you will required to use Report Footer. please follow a link. if this is the answer to your question mark the answer.
Link:.
http://publib.boulder.ibm.com/infocenter/iadthelp/v6r0/index.jsp?topic=/com.businessobjects.integration.eclipse.doc.crdesigner/reportdesigner/crconreportfooter.htm
Create a section below the last group and place your text field there so that when ever everything is displayed you will get the required text
E.g:
If you have Group1 and Group2 then create a section in group footer of Group1 using "Insert Section below and place the Text field there.
Resolved...!!! The problem was that in the Format Text dialog box, after writing the formula i had checked the Suppress Check Box because of which the Text Object was Suppressed all the time. Thanks for all your help...!!

VB6, ActiveReports, and CanGrow property

I've got an ActiveReport which has a textbox populated at run time. The "cangrow" and "multiline" properties are both set to "true".
When I run the report on my machine, the report prints out fine with all of the text set at run time. IE: "Dear John, hello -- how are you..." There's only about 250 characters for this textbox.
However, one of the machines downstairs will only print the name of the textbox. IE: "txtVerbage". A blank report with "txtVerbage" in the middle of it, where the body (see above) should be.
Has anyone else had this experience? I've been banging my head against the wall for days now.
Thanks,
Jason
Its probably the timing of when you're setting the Field/TextBox value. Make sure you set it in the Format event of the section containing the control (e.g. Detail_Format). Using the BeforePrint or AfterPrint or one of the Report events can yield unpredictable results like this.
Also be sure you set the Field.DataValue property and not the Text property.
Some background information on this is in the articles below:
ActiveReports Architecture: Report Processing
ActiveReports Architecture: Events
Navigable documentation w/ TOC
Hope this helps!
Scott Willeke
GrapeCity
The data you access from downstairs is not there. That is why when you bind the data to the report, nothing appears. The reason you see txtVerbage is because that is what you called the text control and that was the default text there.
So you need to make sure that you are actually getting data.

Resources