I am adding menu item to Application bar using this code
ApplicationBar.MenuItems.Insert(0, refreshMenu);
I have 2 other items added from XAML.
But added menu item is adding to the end of list and becoming last menu item insted of being first one.
Is there any way to add menu item to needed index without removing all items and adding in needed order?
EDIT: When I removing menu item from first index, it is removing refresh menu, so the problem is on rendering of menu items.
Thanks
It looks like it could be a bug in the framework (it's not really a common scenario). I'd recommend one of the following (in order of recommendation):
Keep the item there all the time but disable it when it's not needed (as per Shawn's comment). Built in applications do this already.
Swap the entire ApplicationBar to another instance that contains the item (this is a supported scenario)
Remove all the items and re-add them in the order you want
I didn't found any other solution other than I used (remove all items and add then from code each time). So I think the only acceptable way is one I used.
Related
I'm using Primefaces' selectManyMenu to display a list of hundreds of items. I've also included a filter on top. The issue is that when I select, say, the 200th item in the list, I have to manually scroll down to the 200th item each time to see if it has been checked.
I want it so that whenever I select an item, it moves to the top of the menu, so that it is easy to view all the selected items from that list at the top without having to scroll down and up all the time.
Any suggestions?
Looks like your component is getting updated when selecting or unselecting an item, and that's the reason you're reloading the list and losing your scroll position.
Else, it looks like you could use a workround for this. Something like
Catch the select/unselect/change event and trigger a backing Bean function where
You rearrange you list of items sot that the selected ones will be pushed first
oncomplete, you will update your selectManyMenu component.
By the way, maybe it's time to think again if you're using the right component and UX practice. and I have the impression that selectManyMenu is not meant to be used with lists of 200+ items. Personally I think you should avoid using a list that will have to scroll down, for selectMany components. For example you could use another component like a pickList
Using extjs 4.1.1
I have a grid with lots of columns >20.
Initially, most of these columns are hidden.
If a user wants to unhide the column, they select the menu on any column, then select the "columns" choice, this expands another dropdown/dropout which shows all of the columns. Those with checkboxes next to them are shown.
My issue is this:
The columns in the dropdown are shown in the order in which they are defined/displayed in the grid. The order in which they are displayed in the grid has been chosen for a good reason( e.g. id as the first column). However, when a user wants to display one of the hidden columns, it is hard for them to find it in the list. This is because the list is sorted in the order the columns are defined. I want to sort the column dropdown/dropout list in alphabetical order, without effecting the order of the columns in the grid.
How can this done?
I think I found the solution to your question.
First of all I don't have the Ext JS 4.1.1. framework on my current PC. So I tried to figure out you problem reading the Ext JS 4.1.3. documentation available on Sencha's site. But I don't think that they have made drastical changes in this part of the framework between the two minor releases so my solution should work in your case too.
I have tried out my solution using JSFiddle. Unfortunately they did not have the 4.1.1. ext-all.css file, so I have linked manually the 4.0.2 file available at Sencha, so the menu is looking a bit missplaced.
The header menu and it's submenus are managed by the Ext.grid.header.Container class. The column submenu is constructed by the getColumnMenu method. The whole menu is purged and reconstructed on every drag and drop or other event which should affect the grid view. As a result it is enough to overwrite this method in order to solve the problem. Because the headercontainer class is too deep in the framework it is hard to extend it, so you have to make use of the Ext.base.override method.
The column submenu's menu items are created from the result of the
items = headerContainer.query('>gridcolumn[hideable]')
query. So you have to first sort alphabetically the result, before creating the menu items. I have added to the class the sortColumns method which does all the sorting stuff.
So here is what I did: link to my solution.
I hope that this is what you were looking for.
is it possible to hide and show a pivot element?
e.g. i want a option in my app in which i can show or hide one special pivot item which is not usefull for every user.
It appears that it's not possible to hide an entry in the items collection.
The only option available is to remove and add the item from the pivots Items collection.
Depending on the application and the design of the pivot it may be appropriate to leave the item always there but give it the header "advanced".
You can remove the pivot item from the parent pivot control
parentPivotControl.Items.Remove(pivotItemToBeRemoved);
I want to add dynamic menu table in inner pages based upon the tabs on the home page.
how to do that in joomla,please help me.
It sounds like you are trying to create a split menu where the link you click at the top determines the menu that shows up in a column/below. This is the native behavior for Joomla menus simply by setting the start and end levels in the menu module. Here is a good tutorial -
http://www.theartofjoomla.com/magazine/article/27-more-menu-tricks-the-split-menu-technique.html
Beware:: The split level menu feature in Joomla only works when the split equals TWO levels. If you want to build your site with a single master menu that spans 3 or more levels, this does not work. It looks like the internals of Joomla do not know how to track the parent properly (not really sure) when the menus are generated (probably an overstatement). Level 1:1 works, Level 2:2 works but then when you try to specify a menu starting at level 3, it breaks. In my case, I hacked the menu to check the pathways (breadcrumbs) list and derive what I wanted from it so I could determine the real parent of the items at level 3 (or other). Then I could get the items to generate proper. This was a disappointment in Joomla (v1.7). And then on top of this, you would then have to hack further to ensure that each menu item instance starting at 1 is highlighted proper. Perhaps the menus should be more closely coupled to the breadcrumbs pathway list.
When a user clicks once on an item in a Grid or a ListBox, that item is usually selected, hence most UI frameworks have a onSelected event or the like for that.
However, how can we generally call the next step when a user "finally" selects an item by e.g. double clicking an entry? You know when some popup might appear in the context of the selected item and the user can do further stuff.
Strangely enough, I think I have never seen a word for that in any UI framework.
onPicked, onAccepted, onChosen, onFinallySelected, onResult? All kinda awkward or too special. Any other ideas?
I haven't found anything wrong with SelectionChangeCommitted
The wxWidgets framework uses the term activated to describe what you're talking about. So, the method could be called onActivated.