For certain rows I don't want the cell to be editable or show any content. Maybe focusable but user wouldn't be able to go into edit mode. This behavior would be based on a value of the row's data context. Essentially, certain attributes don't apply to certain rows, so user shouldn't be able to interact with those columns at all.
How can you go about doing this that doesn't require that I recreate the data template?
How can you go about doing this that doesn't require that I recreate the data template?
4 Answers, 1 is accepted
0
Hello Carlos,
If you want to style conditionally RadGridView cells, then you can use GridView's CellStyleSelector. Please check this help article for a reference. You can check this online demo as well (the same example is available in your local copy of WPF demos). It would be something like:
Regards,
Yoan
Telerik
If you want to style conditionally RadGridView cells, then you can use GridView's CellStyleSelector. Please check this help article for a reference. You can check this online demo as well (the same example is available in your local copy of WPF demos). It would be something like:
<
my:StadiumCapacityStyle
x:Key
=
"stadiumCapacityStyle"
>
<
my:StadiumCapacityStyle.BigStadiumStyle
>
<
Style
TargetType
=
"telerik:GridViewCell"
>
<
Setter
Property
=
"IsEnabled"
Value
=
"True"
/>
</
Style
>
</
my:StadiumCapacityStyle.BigStadiumStyle
>
<
my:StadiumCapacityStyle.SmallStadiumStyle
>
<
Style
TargetType
=
"telerik:GridViewCell"
>
<
Setter
Property
=
"IsEnabled"
Value
=
"False"
/>
</
Style
>
</
my:StadiumCapacityStyle.SmallStadiumStyle
>
</
my:StadiumCapacityStyle
>
Regards,
Yoan
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for WPF.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
0

Carlos
Top achievements
Rank 1
answered on 03 Feb 2014, 08:42 PM
Thanks for the reply; however, I'm actually trying to hide the contents of the cell not just disable them. For example, there's a property that doesn't apply to one of the rows, so we don't even want to show the checkbox in the cell. Binding the visibility of the cell hid the border of the cell which isn't what we want either.
There doesn't seem to be an ItemDataBound event for WPF so we tried CellLoaded to change the visibility of the content in code but CellLoaded didn't seem to be synonymous to ItemDataBound as it didn't fire consistently, for example when we clear the list and repopulated.
What else would you recommend?
There doesn't seem to be an ItemDataBound event for WPF so we tried CellLoaded to change the visibility of the content in code but CellLoaded didn't seem to be synonymous to ItemDataBound as it didn't fire consistently, for example when we clear the list and repopulated.
What else would you recommend?
0
Accepted
Hi Carlos,
In this case, you can use CellTemplateSelector and return an empty TextBlock for the cell you want. However, if you want to disable the edit mode of the cell, you will need a CellStyleSelector, too. Then you can set cell's IsEnabled property to false. I have prepared a sample project, which demonstrates the approach.
Please give it a try and let me know how it works for you.
Regards,
Yoan
Telerik
In this case, you can use CellTemplateSelector and return an empty TextBlock for the cell you want. However, if you want to disable the edit mode of the cell, you will need a CellStyleSelector, too. Then you can set cell's IsEnabled property to false. I have prepared a sample project, which demonstrates the approach.
Please give it a try and let me know how it works for you.
Regards,
Yoan
Telerik
Check out the new Telerik Platform - the only modular platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native apps. Register for the free online keynote and webinar to learn more about the Platform on Wednesday, February 12, 2014 at 11:00 a.m. ET (8:00 a.m. PT).
0

Carlos
Top achievements
Rank 1
answered on 08 Feb 2014, 05:56 AM
That worked like a charm. Just what I was after, no need to redefine the whole cell template. Thanks for taking the time to look into it.