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
The sample code...
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
Here is the sample
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.
That is great, thanks!
Just to be clear on what i am doing ;-)
I think that you understand that I need this ValueList/EditorComponent or similar since I have a lot of relations between tablesthat are connected using primary keys/integers right.
What is the prefeered way to handle this, is it the ValueList or EditorComponent, or something else.
Both of the ValueList/EditorComponent gives"dropdown" appearance, since they are ment to handle value changes with a fixed list of items.
Are there other options when you simple want to change a cell value into some sort of displaytext?
I would like to know which is the best practice here.
Thanks!
It depends on what you need. The ValueList is slightly more efficient and simpler.
The EditorComponent approach can give you some additional functionality, like editor button, DataFilter, or multi-select.
But since you are already using the ValueList and obviously don't need any of that stuff, there's no reason for you to change your code. The problem here is in the isl and it can easily be fixed in the isl.
great, thanks for your answers!
thanks!
/H
I`d like to inform you that we take a decision to modify our AppStyle. I created a private case for you with reference number CAS-130608-J7C4N5. You could find this case on your activity page: https://es.infragistics.com/my-account/support-activity/ You will receive more details through the case.
If you have any questions, feel free to write us