Hide/remove options from a view's grid header filtering - dynamics-crm

I've been looking for an approach to remove unwanted values from a views grid column filtering dropdown but I'm not sure if its even possible.
A specific view in our app only displays results where the column will contain 5 values, however the column option set has 20+. Is it possible to remove the unwanted 15 values from being displayed when the view's filter by function is used?
This documentation does not mention any way the values can be hidden.
I have added a web resource to a view column before, to change text values into an image, however I don't think this is an applicable place to add a script to hide filter by values.
I have developed plugins so not against using this medium if the approach works and does not introduce a performance hit.

Unfortunately that header filter is not open for customization/configuration. Though MS mention it as Excel like filter, it is not going to give the filter options for only values from current list. It will load the full options list.
When we had such requirements in the past - we have developed a PCF control with grid + filters and used it instead.

Related

Action filters across dashboards without switching sheets in Tableau 9.2

In Tableau 9.2, how can I use a filter which filters from one dashboard to another so that when I trigger it, it does not switch dashboards? I have found this answer online, yet the poster cautions that their method should only be used for V7 and not V9.
Create another action as a filter in the sheet you want to stay in and select all of the dashboards as source and target. As this is the newest action it should make you stay in the same sheet while you keep applying different filters to your data.
In the Dashboard Menu go to Actions and add a Filter,in the filter select source dashboard and select other dashboard as target.This will redirect you to different tab.
You could use a parameter along with calculated fields, or use the JavaScript API
Filter actions also change to the target sheet or dashboard, if not already in focus (as you found out)
If you are doing single selection and your list of values is relatively stable, you could use a parameter instead -- loading the initial values from your field. And then define calculated fields that access the parameter value and use those fields on filter shelves as desired.
Changing a parameter value does not change the view to a target sheet -- unlike a filter action.
The downside of this approach is that the parameter values are not loaded dynamically from a data source and that parameters can only have a single value.
Another option could be to use the JavaScript API in some way. You could listen for changes to the selection, and take whatever action you want in response. That only works if you publish to Tableau Server, and you may want to then pull out some of the navigation controls into your own HTML/CSS -- say to filter the second dashboard just before switching to it.

Keep Views Filters from stacking

On a D7 site I have a list of items displayed in a view.
The view is filtered by several different taxonomy vocabularies, each displayed as an exposed filter
ex:
Culture
Medium
Origin
Artist
My problem is, when you select, say, the drop-down for Culture, and choose a tag, say Yemenite, the view is filtered for items tagged with Yemenite.
But if I then click the drop-down for Medium, and choose a tag, say Metalwork, the view is filtered to show only items tagged with both Yemenite and Metalwork.
This is far too specific, but I can't find a way to make the filters operate independently where when I choose Medium, the filter for Culture is reset, and only Metalwork is shown. Filter groups and And/Or specifiers only create long chains of qualifiers rather than resetting and re-filtering.
I'm sure that this can be done using jQuery, but I'm on a tight schedule, and my experience overriding select lists with jQuery, and dealing with the cross-browser issues created has been pretty negative. I could also create an elaborate tag hierarchy and display the whole thing as a single filter, but that clutter really isn't viable, it's also problematic on mobile.
If anyone has any thoughts or pointers I would appreciate the help.
In the View you can change the behaviour of the exposed filter. In the list of exposed filters there's a tab with "Add" / "AND/OR, Rearrange". With the "AND/OR" option you can change the inclusive behaviour and set it to 'or'.

BIRT: Fit to whole page in report design?

I have a report and want to fix it to 1 page (A4) regardless of the number of rows in the table. Usually it's 10 rows but can be more in some cases.
Anyway I need to use BIRT in a fixed context (3rd party application), eg. no option to adjust the BIRT viewer or url params. Therefore how can I add this option to my report design so that it is applied automatically?
I don't think it is possible to force a render option from the report-design. If it was it would probably achieved by using this code fragment from "beforeRender" script of the report:
importPackage(Packages.org.eclipse.birt.report.engine.api);
reportContext.getRenderOption().setOption(IPDFRenderOption.PAGE_OVERFLOW,IPDFRenderOption.FIT_TO_PAGE_SIZE);
I tried it, it appears at this stage the BIRT task has already applied render options and therefore this new value is ignored.
If you have access to the source code of this third party app it is quite easy to add a "Fit to" PDF render option.
Otherwise you will have to change the report-design and make it a little bit more dynamic: there are many design tips allowing to fit a report in a single page, one of them is to change the height of some items by script depending on the number of rows of the table.

Hide Column, but display its filter, in Kendo Grid

I am looking to create a bunch of filters on a Kendo Grid but these filters are for hidden columns.
I want to display the filter (perhaps moving it outside the grid area with jQuery) but keep the entire column hidden.
Any suggestions?
Use the dataSource.filter method for that implementation.
$('#GridName').data().kendoGrid.dataSource.filter({field:"hiddenColumnName",operator:"gt",value:42});
If for some reason you want to extract these filter descriptors from the Grid you can use the filter method without parameters. An object will be returned which will contain how exactly the Grid is filtered.
Please notice that this approach does not even require to have the columns hidden (you can skip declaring them at all). The whole objects (with all fields) are available by default on the client.

DataGrid column header with a text box for filtering

I'm having a bit of problems creating a DataGrid with a header label AND a text box (at this point I'm not even entirely sure this is possible).
Here's what I want to do:
I need to dynamically create a table (the number of columns can and will change, so the grid needs to be created dynamically and cannot use bindings specified in the XAML code or similar). All the columns however will always be text columns.
Because those will be text columns, I'd like to add a text box to each header to enable simple filtering of the data in the DataGrid. I don't want to add extra text fields to OTHER parts of the Silverlight page, as I want to keep things as compact as possible. Also, since the number of columns is dynamic, adding a large number of text boxes above the DataGrid wouldn't look too good either. ;)
Also, if possible, I'd like to keep a label in each header to display the names of the columns as well.
So far I've tried adding the a TextBox as the Header of a DataGridTextBoxColumn but when I do that in a very simple Silverlight project, the whole DataGrid won't show up.
Please help.
EDIT:
I saw the answer to this question: placing a text box inside the silverlight data grid column header
However, the answer itself didn't give me much to go on (the example is too short, and I'm not too good with XAML yet), and the code on CodePlex just adds extra fields to the Silverlight page. None of it tackles the problem of dynamically creating the DataGrid.
OK, here's what I did that solved my issue...
I had to use a Style to achieve the functionality of having an extra text box inside each column header and filling out the Tag property of each thus created TextBox to later find out which column has been changed.

Resources