I've noticed that certain dropdowns, despite having e.g. five different options in the set, only display two at a time, which makes scrolling an inconvenience. On the very same form, another dropdown displays three and a half rows and, as far I could see, there's no relation between the number of rows displayed and the placement on the form nor does such a relation exist related to the number of the elements in the option set.
(How) can I control (or at the very least affect) the number of elements displayed in a dropdown? I didn't find any options for that in the settings (format has only the num er of columns to span across).
Judging from what I've seen, CRM lets dropdowns lower bound expand until the lower end of the container tab. Because of this, one is forced to add spacers (creating "holes" in the form) when the optionset sits at the bottom...
There doesn't seem to be a way to manipulate this behavior, unless one strays outside supported customizations and goes on manipulating the DOM.
Related
I have used MagicDraw v18.5 to draw a class diagram. My diagram has classes, attributes, stereotypes, and notes.
My business users find my diagram too technical. I would like a way to give them a dumbed-down, business-friendly view that shows only classes and associations, without the attributes or stereotypes.
I tried the one thing I know: select everything in the diagram, edit the compartments, and hide the attributes and stereotypes. But the result looks terrible: the content of the compartments disappears as intended, but the compartments aren't resized. Each class is a box with a big empty Attributes compartment. I could never show this to a business user without manually resizing.
Is there a more straightforward way to do this?
Note this is using MagicDraw 19.0-SP2, so there might be some differences.
I'll use block elements as an example, instead of classes, but they are just "fancy" SysML classes. Your symbols probably look something like this as described:
with my empty compartments being "values" and "operations", instead of "attributes" and "stereotypes". The principle is the same for any compartment.
Suppress/Hide the compartments, rather than remove the properties from them.
Per the comments, it appears you have removed the elements from the compartments, rather than hiding/removing the compartments themselves. If you click on the class element symbol, on the left there should be small minus signs that you can click to "Suppress", or hide, each compartment completely.
Alternatively, you can click the "..." Compartments icon on the left at the top (to the left of the symbol name/header) and then remove the checkmark for any compartment you want to hide.
There is also an entry on the Compartments menu to "Suppress All" which will turn all of them off.
After suppressing the compartments, click the auto-size icon at the bottom right and you should get something with just the name:
Bulk Edit multiple symbols at once
You can select all the class symbols at once, and edit them in bulk, rather than following the above for each symbol on your diagram.
To do this, click on a class symbol, then use ctrl-shift-s to select all other symbols of the same type. If you click on multiple types of objects (e.g. hold shift and select both a class and a comment symbol at the same time), then it will select all of the symbols that match the type any of the elements already selected.
Now you can right-click and select symbol properties and will have access to the common properties of all those symbol types at once. Doing it this way will avoid snagging all element types, such as labels and relationships, which often do not have the same symbol properties, and therefore cannot be bulk edited together.
Alternatively, you can open or select the Properties window, then select the "Symbol" tab, to have access to the same properties for bulk edit. The other tabs in the Properties window provide a power means of editing element, tag, and traceability properties in bulk:
In either window, starting typing "Suppress" in the search bar, and you will get all the options for suppressing things from being visible on your selected elements. In the case of a SysML block, which can be True (checked), False (unchecked), or a black box with <undefined>, which will happen if some symbols are currently set True while others are False.
Setting the "Suppress Operations" and "Suppress Values" in my case are the two items I need to hide those compartments on my test Block symbol.
Bulk Autosize
After hiding the compartments, you can click on the auto-resize button in the bottom right, but I recommend going into the awful keyboard shortcut editor and struggling with it until you have setup a shortcut key for auto-size. Then you can hit ctrl-a to select all symbols at once, or ctrl-shift-s for all elements of a specific type, and use the shortcut key to autosize all of them at once.
They have updated it recently to make it not-quite-so-awful, so it's different than 18.5, so I'll leave the steps as an exercise for the reader. I use this shortcut all the time.
Apply word wrap if needed.
You can use the 'word wrap' symbol attribute to allow you to resize to a smaller size and have long names wrap into multiple rows, allowing you to make a symbol thinner.
Note: Word wrap only shows up under the "All" view, not even under "Expert" in Symbol Properties.
Switch from "Standard" or "Expert" to "All" in the view dropdown on the upper right of the symbol properties window.
Type "wr" in the search to find the "Wrap Words" property, and set it to true.
Now you can resize your symbol to a thinner version with a name or other properties that wrap onto multiple rows. Why they don't have this property set by default is beyond me...
Unfortunately, you will need to resize elements manually to get them to actually wrap the words, but once you have the width the way you want, auto-size will work fine.
You can also make everything really skinny, then use the "Layout -> Make same width" command to make all elements the same width as the widest selected symbol, if you want uniformity.
I am currently building a User form for some letters we use at work and I would like to design the userform to generate the letter with mostly just checkboxes. e.g.
Your application cannot be completed until the following is received:
A Statutory declaration providing a statement in regards to your: financial situation
In the above example I would need two checkboxes.
Checkbox 1:
A statutory declaration providing a statement in regards to your:
Checkbox2:
financial situation
I guess the question I am asking is in two parts:
1: How do I get checkboxes to generate text?
2: How do I get multiple checkboxes to generate text against the same bookmark/s?
I may not need a Statutory Declaration, I may need a "certified copy of:" ---"bank details, proof of identity, proof of citizenship"
As you can tell from the user form it's pretty extensive and all the checkboxes in the lower half of the form need to generate text.
Grateful for any advice or direction or resources or anything.
In theory, you might store the text to be inserted in your letter in the Check box's caption property and use code to insert the text into your letter when the box is checked. I think this is cumbersome and recommend that you use the caption for a caption, for example, "Statutory declaration". If it is checked such a paragraph is inserted into the letter, else it is left out.
The required declaration may include one or several of many items. Since you are thinking of check boxes, you could have one for each "bank details", "proof of identity", "proof of citizenship". These selections are very short and could be placed in the caption property. But if the texts are longer or of greatly varying lengths I would recommend the use of text boxes instead. So, if Cbx1 is clicked, the text of Tbx1 is inserted etc.
Alternatively, if only one item is required you might consider a dropdown. Or you might use a list box with multiple choices. In principle, I think that using different systems for different levels of decision making helps the user to find his way through your form. For example, use check boxes to select paragraphs (the full text of which might be shown in adjacent text boxes), and then switch to list boxes, option buttons, dropdowns or check boxes which look completely different to specify the contents of the selected paragraph. All of that detail might as well be hidden until the user has checked its box.
I have been googling for a good description of this but am not having much luck. I am pretty new to SSRS reports and I am probably not using the correct terminology here. If someone could point me towards an article that describes this that would suffice.
Basically I want to pull a bit into my report, and based on the value of that bit (or maybe a varchar) I want to render an address in different formats, or add/remove some sections completely form the report. I suspect this is basic functionality but am having trouble finding an example. Any help would be appreciated!
Thanks!
If you have a table/matrix the best place to put stuff like this is in columns that are outside of the detail or any groups at the top of the table. You can merge all the cells and add rectangles to add specific formatting. The neat part about using header columns is they can be hidden and the space used will not be rendered.
Say you have a table and Row1 and Row2 contain different formatting of the same data. If you have a report parameter named ShowFormat1 then you can optionally hide/show the correct row with formatting.
Click Row one and Set its Hidden property to =!Parameters!ShowFormat1.Value
Click Row two and Set its Hidden property to =Parameters!ShowFormat1.Value
The same concept can be applied to all elements if you are not using a table or matrix. Non-repeating controls, Rectangle or Image for example, can be hidden but the space used will still be rendered.
In order to support automated testing tools I need to x:Name all controls (so that the tool can "pick it up" and observe its details).
The question is concerning DataGrid where the ItemSoure is bound to a property (in the ViewModel).
What is the best way to ensure all rows and all grid cells are uniquely named?
A better question is: If a DataGrid is x:Named, will automated test tools be able to observe its rows and individual cells, even if the rows/cells are NOT x:Named themselves?
Option 1 (which id like to avoid) is the x:Name each row (on the row loading event, as well as all of its column cells).
Is there perhaps another option where all of these are x:named (uniquely) automatically?
Even better, perhaps all this is not even needed.
In case anybody is interested, i found the answer. Listen for the Row-loaded event. From there recursively traverse down the rows layout/control tree while naming valid controls (while ignoring any layout controls... Grid, StackPanel, Border).
How many times have we seen this type of selector:
List Box Selector http://geekswithblogs.net/images/geekswithblogs_net/dotNETvinz/MoveItemsListBox.jpg
I was just about to start creating this in a WinForms app, when I thought that others may have some ideas for doing this better. We need it to sort - so the right hand list will need up/down buttons. But this seems so old school. I love devexpress components, and was thinking of asking them if they would consider adding a component that handles this functionality with a slick UI.
I am thinking that a graphical representation of the objects, and a graphical representation of the listboxes - that would be a more intuitive way to move items around.
Has anyone seen an open source project like this?
If a CheckListBox won't suffice (and it usually will), then the "modern" approach would be to use a ListView or similar component with a "Transfer" column. Render the button inline in that column, one for each row, so that it only takes one click to move an item from one to the other.
You see this everywhere in Vista, usually with hyperlinks as opposed to buttons. Instead of clicking on an item and then choosing an action, you click the action at the item level.
I wouldn't go overboard with slickness as it can impair functionality, but the dual-listbox screen is definitely old-school.
Also, if there's a very large amount of data to manage, it helps to provide a progressive search at the bottom of one or both lists.
I have done this type of selection using (essentially) a single CheckListBox that displays each item as an image. Part of the image looks like a LED, which is on (bright) if the item is selected or off (dark) if it is not selected.
This works well if you have a reasonable amount of data to select from, and also works well in a multi-column format if you can predict that the options will have reasonably similar lengths.
Allow users to drag items in/out of list 2, and also drag to reorder in list2.
(All items dragged out of list2, and dropped anywhere outside the list, get put back into list 1, in their correct place in the list by alphabetical or natural order.)
You can merge the two list boxes into one with the help of groups (LVGF_GROUPID flag): one group for selected and one for not selected.
You can also implement group membership changes with drag-drop between them. This way single drag-drop can move an item into the other group at the appropriate position, saving most/all of the other buttons.
Additionaly the bottom of each group can have one pseudo item with help text (i.e. "Drag items here to...") that is visible only when relevant.