Hello!
I have tried for a while now to find the app style settings (rubberblack.isl) for this problem but I haven't figuerad it out yet.
What I want is to get the hottrack appearance of a row to be same over all cells, even if one cell (column) is set using a valuelist that
has its cellactivation property set to "noedit".
Anyone who knows what to do?
I have changed settings for GridCell, GridRow, ValueList and ValueListItem but I cannot get it right.
One thing that almost worked was to set the ValueListItem+Normal+Background Color role to Default. The grid then worked in the
right way but when you look in the Filter Row dropdown list, it is shaded in a very dark color, excatly like the SelectedRow appearance.
I want that one to stay intact...
Attaching a print screen and an isolated sample.
/Henrik
You don't need to do that. The problem is in the isl file.
What's happening here is that the cell in the grid picks up the appearance of the selected ValueListItem. The isl is applying an appearance to every ValueListItem. So that appearance gets applied to the cell and since the cell's appearance is more specific than the HotTracking appearance, it overrides it.
As a rule, an isl should never apply an appearance to the ValueListItem role for this reason. It should be using the ValueList role, instead.
I'm going to ask Infragistics Developer Support to write this up as a bug so it can be fixed in the isl. But in the mean time, you can fix it in your local isl file by opening up the isl in AppStylist, going to the ValueListItem role and setting the BackColor to Default.
A more complete fix would be to take all of the settings currently applied to ValueListItem and apply them to ValueList, instead. An easy way to do that would be to just modify the xml directly.
So change this:
<style role="ValueList"> <states> <state name="Normal" backColor="85, 85, 85" borderColor="85, 85, 85" backGradientStyle="None" /> </states> </style> <style role="ValueListItem"> <states> <state name="Normal" backColor="237, 237, 237" foreColor="30, 30, 30" backGradientStyle="None" /> <state name="Selected" backColor="DarkGray" borderColor="85, 85, 85" backGradientStyle="None" backHatchStyle="None" /> </states> </style>
to this:
<style role="ValueList"> <states> <state name="Normal" backColor="237, 237, 237" foreColor="30, 30, 30" backGradientStyle="None" /> <state name="Selected" backColor="DarkGray" borderColor="85, 85, 85" backGradientStyle="None" backHatchStyle="None" /> </states> </style>
I've done that and attached the updated isl file for you here.
Thanks for the sample code. I see your point and it seems to work.
I thought that it was possible since other appstyles work as I want, like the LucidDream for example.
If you try that, you will see that it works.
Or are there differences that I am missing?
Thanks for your help!
Here is the sample
Hello Henrik,
Thanks for attached sample. The mentioned behavior is expected bacuse valueList doesn`t have HotTracking appearance. There are few possible options to solve this task. My suggestion is to use EditorComponent instead of valueList. Please take a look on the modifications that I made into your sample and video file for more details. If you have any questions feel free to write me
Regards
The sample code...