i'm quite new to HTML, and am trying to create a professional looking TreeView.
I can not use the in built TreeView in ASP.NET as i need to point the target of the selection to another frame (I have tried, and this doesn't seem possible).
My TreeView is built up as follows:
Folder1
ChildOne
ChildTwo
ChildThree
Folder2
ChildOne
ChildTwo
ChildThree
I have the collapsing of the folders working, but would like to know how to format this TreeView so it has dotted lines down to the child nodes (as most TreeViews tend to have).
How would i go about this?
Cheers.
If your only concern is to point the target of the selection to another frame, then you just need to use the Target propery,
The TreeView.Target Property gets or sets the target window or frame in which to display the Web page content associated with a node.
Moreover, Target value must begin with a letter in the range of A through Z (case-insensitive), except for certain special values that begin with an underscore, as shown below :
_blank : Renders the content in a new window without frames.
_parent : Renders the content in the immediate frameset parent.
_search : Renders the content in the search pane.
_self : Renders the content in the frame with focus.
_top : Renders the content in the full window without frames.
The default value is an empty string (""), which targets the window or frame with focus.
Related
I'm using Javascript to dynamically create a QML component via:
var component = Qt.createComponent(qmlURL)
var item = component.createObject(parentLayout, properties)
In this case, the parentLayout is a ColumnLayout and it always creates the object at the end of the children list (which means it is displayed at the bottom of the column).
How can I specify the index position within the children of where the object is placed, or how can I move it in the children list post instantiation?
(I tried assigning parentLayout.children[i] to no avail)
Use case: I have a large existing multi-level (nested) Menu system that is static, but I'd like insert and remove custom submenu items in the hierarchy in response to external plugins registering/unregistering via a service API. While we could completely re-implement the menu system as a dynamic treeview, that seems overkill just to insert a couple menu subitems dynamically.
How can You refresh a grid, when some new row was added to its datasoruce container or one of its rows has been edited?
I have tried the hacks written about here (http://www.helpsforcoder.com/code/31861375-vaadin-refresh-grid-after-row-modification.html ) and here (deleted link to malicious advertisement) but with no positive result. I add / edit the row in a separate subwindow that 'pop-ups' over the view, where the grid, that should update its contents, is placed.
grid.getDataProvider().refreshAll();
Grid listens to changed property values. So if you are working on the property level of vaadin everything should be fine.
If you extract your bean out of the BeanItemContainer you directly manipulate the values of the bean. That way the property container can not recognize your manipluating action.
So you have to send your grid implementation a message, the properties have changed manually.
When your BeanItemContainer still has the hard reference to the changed object, grid.markAsDirty() should work.
I have a Cognos report and i have created 3 pages and 1 common prompt page. According to a radio selection in the prompt page i show the appropriate among these 3 pages.
In each page i have a block that is the header and there i just show title, current date and the selected values of the prompt controls (parameter values).
This header is the same among all pages and i want to find a way to create only 1 header section and then assign it on the top of each page. So if later i want to change anything in the header i will do it in one place.
Any ideas?
Re-using parts of a report (either from the report or other report in Cognos Connection) can be achieved with the help of layout component refenrences which are inserted into your report page and which refer to other existing components.
To use them proceed as follows:
Indentify the layout component(s) to be re-used (e.g. a table or a text or more or less anything less).
In the property list of that component go to the name and give it a unique name.
In the report page that is supposed to re-use the component drag an instance of the layout component reference to the appropriate location in the page.
Specify the target of the reference by choosing the report and within the report the named component (same name as given above).
Example
A block component (which could be incorporated into a header) is to be re-used. Give the block a name, e.g. my_block:
From the toolbox drag the layout component reference
to the report page. A dialog box opens which permits choosing the target component:
I am having some trouble with the flex Tree control.
I have a control in my system and of course it is data driven.
I have a group which shows a folder icon and that's fine but it also shows an expand icon when the item has no children.
I don't what it to show the expand icon when the group has no children but I do want to show the folder icon, because it is different entities in my system.
here's an example of what I'm talking about. I still want to show the folder icon, the expand Icon should be hidden in this case only for the child icon.
It's easy to get this problem if you're trying to use a non-XML data provider (e.g. setting the dataProvider property of the Tree to a structure of nested ArrayCollections). In that case, the trick is to give each node a children() function that returns null (as opposed to an empty set) if there are no children.
However, assuming you're using a plain old XMLListCollection, what are you doing to make it display a folder icon at all? If you're giving the node an empty set of children, then once again, the expand icon will be displayed. The list of child nodes must be null. Alternatively, if you set the isBranch property of the node to true, it will display 'incorrectly' as you have it above.
The easiest way to display a folder icon without the expand icons is to just replace all the (really rather ugly) default icons with your own, which gives you complete control of how they appear. What you would do is set three properties: defaultLeafIcon, folderClosedIcon, and folderOpenIcon (good example at Flex Examples):
[Embed(source="folder.png")]
public var iconFolder:Class;
[Embed(source="folder.png")]
public var iconFolderOpen:Class;
<mx:Tree dataProvider="{yourData}"
defaultLeafIcon="{iconFolder}"
folderClosedIcon="{iconFolder}"
folderOpenIcon="{iconFolderOpen}" />
I see you're already using the Silk icon set, which has a rather nice closed folder icon. For some reason it doesn't contain an open folder icon though, but you can just use a closed one or anything else.
You could also just use an iconFunction (Flex Examples again), though I think the approach above is easier for what you're trying to achieve.
If it's none of those problems, give us a bit more detail on the content of your data provider and existing tree properties and see if we can't figure it out then. Hope that helps a bit anyway.
I have a treeview control where I am dynamically selecting a node depending on user interaction. when a node is selected I want to be able to have the scrollbar go to the location of that selected node in the tree. The scrollbar is simply made by overflow:auto in the div tag where the treeview is located. Can someone give me some detailed code to accomplish this? Thanks in advance.
If the scrollbar is a browser default triggered by overflow:auto, you'll probably need to use javascript. See if the answer below works for you:
Programmatically scroll to an Anchor Tag
In other words, you will need to figure out the ID of the selected node (or insert an element with an ID into the text of the node), then insert a snippet of javascript into the page (using, for example, a Literal control) that will scroll to that element when the page is loaded.
It's hard to give specific examples without seeing your code, but let's say your selected node is called ActiveNode and you've inserted a literal control called litScript. Then you could do something like this:
ActiveNode.Text = ActiveNode.Text & "<a id='TVSelectedNode'></a>"
litScript.Text = "<script type='text/javascript'>document.getElementById('TVSelectedNode').scrollIntoView(true);</script>"