Can I set a rule that only effects one grid?

I have a dashboard with multiple grids in it. A few of the grids are bound to the same data view. How would I go about setting up a rule for the view that only applies to one of the grids? I tried creating a new data view for the one grid but there is another grid that is subscribes to a column from the first couple of grids.

I use this in a customization to do something similar that involves a combobox being used to filter out results.
myGrid.DisplayLayout.Bands[0].ColumnFilters[“Part_ExtrudedFinMandrelStyle_c”].FilterConditions.Add(FilterComparisionOperator.Equals,cmbExtFinManStyle.Text);```

Classic or Kinetic? And what are you trying to do with the rule?

Kinetic. My rule is coloring some columns based on the value of another column

This particular rule (last post) references a data view that two grids are bound to, but I only want the rule to effect one of the grids.

Maybe describe this a bit more - just to understand why it doesn’t work to have a separate data view. What you have here makes it seem like adding the second data view is breaking another connection…?

Here is my dashboard:


Under the parts tab, there are two tabs each with a grid on it that is bound to the same data view and the bottom grid subscribes to a column from either of the top two grids. If I create a separate data view for the one top grid, then my relationship to the bottom grid would be broken on that grid. The top and bottom grids relater on either partNum or JobNum depending on witch of the bottom tabs you are looking at.

Create the rule for the view, but add extra conditions that filter it to that specific grid. For instance, if you have 2 grids subscribing to a PartList dataview that shows PartNum and TypeCode where one grid only shows purchased parts and the other grid only shows manufactured parts and you only want the rule to fire on the grid that shows manufactured parts, then add an additional condition in the rule such that PartList.TypeCode = M.

Example:

These two tabs are both bound to the same PartList dataview yet only the rows that get highlighted for having a year are those on the manufactured tab because I added the TypeCode = “M” which is the same filter I have on that grid to make it unique.

2 Likes

Great idea there but the Delema is that I need the rule to fire on the “All Parts” grid and not the “shortage Parts” grid where shortage = true (exactly what the “shortage Parts” grid shows)

1 Like

This is looking like your only option.

Create a new subscription to your new dataview.

How to do this is going to depend on how and what you have wired up.

Here’s an example with BAQs but should work for BOs as well; it’s using the parent-child relationship on the view for the subscription.

You can also do this in the Provider Model’s Where List.
You can also do this using events if you just bound your Grid Model to a view.

4 Likes

Is there a way maybe to change the provider model where list of my bottom grid based on witch of my top grids I am looking at?

Ummm, not easily.

Off the top of my head, I would say that you would need to create events for each grid that maybe updates a TransView field with the key record. So, like, set something like TransView.KeyField to YourView1.PartNum or YourView2.JobNum then have your child views subscribe to TransView.KeyField.

I haven’t tried any of that and it’s a bit half-baked in my pre-caffeinated brain, but it’s a thought. Give it a try.

1 Like