This question is locked. New answers and comments are not allowed.
                        
                        I have a grid that represents six months of data, where each cell represents a day.  The grid has 6 rows and 33 columns (Month, Days 1 through 31, Total).  How would I dynamically disable those cells that do not represent a valid date (e.g. Feb 30, Feb 31, Apr 31, etc.) so that the user cannot enter data in them?  The grid will either show the first half of a year, or the second half of a year (Jan - Jun, or Jul - Dec).
                                13 Answers, 1 is accepted
0
                                Hi Steve  Dentel,
Maya
the Telerik team
                                        A possible approach may be to use the IsReadOnlyBinding that can be set to True for those cells you do not want to edit. You may take a look at our online documentation for a reference.
 
Maya
the Telerik team
Let us know about your Windows Phone 7 application built with RadControls and we will help you promote it.  Learn more>> 
0
                                
                                                    Steve
                                                    
                                            
    Top achievements
    
            
                
                Rank 2
            
    
                                                
                                                answered on 19 Jan 2011, 11:09 PM
                                            
                                        I looked at the example (XAML).  How would I do this in the code behind?  What about the fact that I am trying to disable different cells (days), depending on the row (month).  Take a look at the screen shot showing my grid.  Each hand drawn red 'X' represents a date that I don't want to allow the user to edit.
                                        0
                                Hello Steve  Dentel,
In this case IsActive is a property of the business object. You may take a look at this forum thread for a reference and a sample project demonstrating how you may use the IsReadOnlyBinding.
Another possible approach may be to use a CellStyleSelector and color those cells which do not have any values for example. You may take a look at our online documentation and demos for further information.
All the best,
Maya
the Telerik team
                                        You may define the IsReadOnlyBinding in the code-behind like follows:
GridViewDataColumn column = new GridViewDataColumn();           column.DataMemberBinding = new Binding("Name");column.IsReadOnlyBinding = new Binding("IsActive");this.clubsGrid.Columns.Add(column);In this case IsActive is a property of the business object. You may take a look at this forum thread for a reference and a sample project demonstrating how you may use the IsReadOnlyBinding.
Another possible approach may be to use a CellStyleSelector and color those cells which do not have any values for example. You may take a look at our online documentation and demos for further information.
All the best,
Maya
the Telerik team
Let us know about your Windows Phone 7 application built with RadControls and we will help you promote it.  Learn more>> 
0
                                
                                                    Steve
                                                    
                                            
    Top achievements
    
            
                
                Rank 2
            
    
                                                
                                                answered on 20 Jan 2011, 05:40 PM
                                            
                                        Hello Maya,
Can you make the TelerikSL2010Q2 solution available that was shown in the RadGridView - Style and Template Selectors video for Silverlight and WPF?
Thanks,
Steve
                                        Can you make the TelerikSL2010Q2 solution available that was shown in the RadGridView - Style and Template Selectors video for Silverlight and WPF?
Thanks,
Steve
0
                                Hi Steve  Dentel,
Maya
the Telerik team
                                        May you provide a bit more details which video are you referring to ? Do you require a sample demonstrating the usage of Style and Template Selectors ?
 
Maya
the Telerik team
Let us know about your Windows Phone 7 application built with RadControls and we will help you promote it.  Learn more>> 
0
                                
                                                    Steve
                                                    
                                            
    Top achievements
    
            
                
                Rank 2
            
    
                                                
                                                answered on 20 Jan 2011, 06:29 PM
                                            
                                        Hi Maya,
It is the video on this page: http://www.telerik.com/help/silverlight/gridview-cell-style-selector.html
Thanks,
Steve
                                        It is the video on this page: http://www.telerik.com/help/silverlight/gridview-cell-style-selector.html
Thanks,
Steve
0
                                Hi Steve  Dentel,
Maya
the Telerik team
                                        You may find a sample project attached.
Maya
the Telerik team
Let us know about your Windows Phone 7 application built with RadControls and we will help you promote it.  Learn more>> 
0
                                
                                                    Steve
                                                    
                                            
    Top achievements
    
            
                
                Rank 2
            
    
                                                
                                                answered on 20 Jan 2011, 06:53 PM
                                            
                                        Hi Maya,
That is not the solution displayed in the video...see attached screen shot. A suggestion: when training videos are published on your website that utilize a specific VS solution, please also publish the solutions shown in the video.
Thank you.
Steve
                                        That is not the solution displayed in the video...see attached screen shot. A suggestion: when training videos are published on your website that utilize a specific VS solution, please also publish the solutions shown in the video.
Thank you.
Steve
0
                                
                                                    Steve
                                                    
                                            
    Top achievements
    
            
                
                Rank 2
            
    
                                                
                                                answered on 20 Jan 2011, 10:52 PM
                                            
                                        Hi Maya,
Would you please provide the solution referenced in the video?
Thanks,
Steve
                                        Would you please provide the solution referenced in the video?
Thanks,
Steve
0
                                Accepted
Hello Steve  Dentel,
Maya
the Telerik team
                                        I am sending you the sample project used in the video.
I hope that helps.
 
Maya
the Telerik team
Let us know about your Windows Phone 7 application built with RadControls and we will help you promote it.  Learn more>> 
0
                                
                                                    Tyree
                                                    
                                            
    Top achievements
    
            
                
                Rank 2
            
    
                                                
                                                answered on 24 Jan 2011, 02:53 PM
                                            
                                        If you set the IsReadOnlyBinding={Binding DateString,Converter={StaticResource IsInvalidDate}}
Where your DateString is not actually as obviously it would error, then in the converter you test if its a valid date...if not return true. Of course thats assuming your doing some sort of MVVM or add the property to your row item. If your trying to build a grid via the code behind you can do something more direct like {Binding Month /* 2/1/2011 */, Converter={StaticResource IsDateNotInMonth}, ConverterParamenter=29 /* day number */} checking if the parameter is valid for the month in question.
                                        Where your DateString is not actually as obviously it would error, then in the converter you test if its a valid date...if not return true. Of course thats assuming your doing some sort of MVVM or add the property to your row item. If your trying to build a grid via the code behind you can do something more direct like {Binding Month /* 2/1/2011 */, Converter={StaticResource IsDateNotInMonth}, ConverterParamenter=29 /* day number */} checking if the parameter is valid for the month in question.
0
                                
                                                    Steve
                                                    
                                            
    Top achievements
    
            
                
                Rank 2
            
    
                                                
                                                answered on 31 Jan 2011, 10:49 PM
                                            
                                        Thank you for providing the solution shown in the video.  After some trial and error, I am using the conditional style converter with three numeric converters.  Below is the xaml for the UserControl.Resources section
Here's the xaml on the grid for the three days that I want to check:
And here is the first converter...the others are similar. In the code below, ExerciseDate is always set to the first day of the month...e.g. 2/1/2011
                                        <UserControl.Resources>     <Style x:Key="Day29StyleIsValid"           TargetType="rgv:GridViewCell">         <Setter Property="IsEnabled" Value="True" />     </Style>     <Style x:Key="Day29StyleIsNotValid"           TargetType="rgv:GridViewCell">         <Setter Property="IsEnabled" Value="False" />     </Style>     <local:Day29Converter x:Key="zDay29Converter" />     <local:ConditionalStyleSelector x:Key="Day29StyleSelector"                ConditionConverter="{StaticResource zDay29Converter}">         <local:ConditionalStyleSelector.Rules>             <local:ConditionalStyleRule Style="{StaticResource Day29StyleIsValid}">                 <local:ConditionalStyleRule.Value>                     <sys:Boolean>True</sys:Boolean>                 </local:ConditionalStyleRule.Value>             </local:ConditionalStyleRule>             <local:ConditionalStyleRule Style="{StaticResource Day29StyleIsNotValid}">                 <local:ConditionalStyleRule.Value>                     <sys:Boolean>False</sys:Boolean>                 </local:ConditionalStyleRule.Value>             </local:ConditionalStyleRule>         </local:ConditionalStyleSelector.Rules>     </local:ConditionalStyleSelector>     <Style x:Key="Day30StyleIsValid"           TargetType="rgv:GridViewCell">         <Setter Property="IsEnabled" Value="True" />     </Style>     <Style x:Key="Day30StyleIsNotValid"           TargetType="rgv:GridViewCell">         <Setter Property="IsEnabled" Value="False" />     </Style>     <local:Day30Converter x:Key="zDay30Converter" />     <local:ConditionalStyleSelector x:Key="Day30StyleSelector"                ConditionConverter="{StaticResource zDay30Converter}">         <local:ConditionalStyleSelector.Rules>             <local:ConditionalStyleRule Style="{StaticResource Day30StyleIsValid}">                 <local:ConditionalStyleRule.Value>                     <sys:Boolean>True</sys:Boolean>                 </local:ConditionalStyleRule.Value>             </local:ConditionalStyleRule>             <local:ConditionalStyleRule Style="{StaticResource Day30StyleIsNotValid}">                 <local:ConditionalStyleRule.Value>                     <sys:Boolean>False</sys:Boolean>                 </local:ConditionalStyleRule.Value>             </local:ConditionalStyleRule>         </local:ConditionalStyleSelector.Rules>     </local:ConditionalStyleSelector>     <Style x:Key="Day31StyleIsValid"           TargetType="rgv:GridViewCell">         <Setter Property="IsEnabled" Value="True" />     </Style>     <Style x:Key="Day31StyleIsNotValid"           TargetType="rgv:GridViewCell">         <Setter Property="IsEnabled" Value="False" />     </Style>     <local:Day31Converter x:Key="zDay31Converter" />     <local:ConditionalStyleSelector x:Key="Day31StyleSelector"                ConditionConverter="{StaticResource zDay31Converter}">         <local:ConditionalStyleSelector.Rules>             <local:ConditionalStyleRule Style="{StaticResource Day31StyleIsValid}">                 <local:ConditionalStyleRule.Value>                     <sys:Boolean>True</sys:Boolean>                 </local:ConditionalStyleRule.Value>             </local:ConditionalStyleRule>             <local:ConditionalStyleRule Style="{StaticResource Day31StyleIsNotValid}">                 <local:ConditionalStyleRule.Value>                     <sys:Boolean>False</sys:Boolean>                 </local:ConditionalStyleRule.Value>             </local:ConditionalStyleRule>         </local:ConditionalStyleSelector.Rules>     </local:ConditionalStyleSelector> </UserControl.Resources> Here's the xaml on the grid for the three days that I want to check:
<telerik:GridViewDataColumn x:Name="Day29Col"     DataMemberBinding="{Binding Path=Day29, Mode=TwoWay}"     Header="29" IsFilterable="False" IsSortable="False"     CellStyleSelector="{StaticResource Day29StyleSelector }" />   <telerik:GridViewDataColumn x:Name="Day30Col"     DataMemberBinding="{Binding Path=Day30, Mode=TwoWay}"     Header="30" IsFilterable="False" IsSortable="False"     CellStyleSelector="{StaticResource Day30StyleSelector }" />   <telerik:GridViewDataColumn x:Name="Day31Col"     DataMemberBinding="{Binding Path=Day31, Mode=TwoWay}"     Header="31" IsFilterable="False" IsSortable="False"     CellStyleSelector="{StaticResource Day31StyleSelector }" /> And here is the first converter...the others are similar. In the code below, ExerciseDate is always set to the first day of the month...e.g. 2/1/2011
public class Day29Converter : IValueConverter {     public object Convert(object value,          Type targetType,          object parameter,          System.Globalization.CultureInfo culture)     {         ParticipantExerciseDetail ped = value as ParticipantExerciseDetail;         if (ped != null)         {             // Add 28 days to the ExerciseDate, which is always day 1.               // If the 29th is a valid date, then the month             // component of day will not have changed.             DateTime day = new DateTime();             day = ped.ExerciseDate.AddDays(28);             return day.Month == ped.ExerciseDate.Month ? true : false;         }         return null;     }     public object ConvertBack(object value,          Type targetType,          object parameter,          System.Globalization.CultureInfo culture)     {         throw new NotImplementedException();     } } 0
                                
                                                    Jerry T.
                                                    
                                            
    Top achievements
    
            
                
                Rank 1
            
    
                                                
                                                answered on 01 Jul 2011, 04:24 PM
                                            
                                        How would one setup a CellStyleSelector using the MVVM method?
I was looking at the attached project from the Posted on Jan 20, 2011 post and it looks like the general idea I need to use but we're using MVVM so I don't have direct access from the codebehind.
Or, is there some way to access the grid's data thru the grid's properties/methods?
                                        I was looking at the attached project from the Posted on Jan 20, 2011 post and it looks like the general idea I need to use but we're using MVVM so I don't have direct access from the codebehind.
Or, is there some way to access the grid's data thru the grid's properties/methods?