or
<telerik:GridViewDataColumn Width="40" ColumnGroupName="status" Header="Header"DataMemberBinding="{Binding Status}" SortMemberPath="Status"
CellTemplateSelector="{StaticResource myDataTemplateSelector}"/>myDataTemplateSelector ist always MyVM instead of MyVM.Status.
RadGridView.ItemsSource = null;RadGridView.ItemsSource = GridDataTable;RadGridView.Items.Refresh();RadGridView.Rebind();<ControlTemplate x:Key="GridViewRowTemplate" TargetType="grid:GridViewRow"> <Border BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}"> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="FocusStates"> <VisualState x:Name="Unfocused" /> <VisualState x:Name="Focused"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NavigatorIndicator" Storyboard.TargetProperty="(UIElement.Visibility)"> <DiscreteObjectKeyFrame KeyTime="0"> <DiscreteObjectKeyFrame.Value> <Visibility>Visible</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="SelectionStates"> <VisualState x:Name="Unselected" /> <VisualState x:Name="SelectedUnfocused"> <Storyboard> <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetName="Background_Over" Storyboard.TargetProperty="(UIElement.Visibility)"> <DiscreteObjectKeyFrame KeyTime="0"> <DiscreteObjectKeyFrame.Value> <Visibility>Visible</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Background_Over" Storyboard.TargetProperty="Fill"> <DiscreteObjectKeyFrame KeyTime="0:0:0"> <DiscreteObjectKeyFrame.Value> <SolidColorBrush Color="#FF9c9c9c"/> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Background_Selected" Storyboard.TargetProperty="Fill"> <DiscreteObjectKeyFrame KeyTime="0:0:0"> <DiscreteObjectKeyFrame.Value> <SolidColorBrush Color="#FF9c9c9c"/> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> <DoubleAnimation To="1" Duration="0" Storyboard.TargetName="Background_Over" Storyboard.TargetProperty="(UIElement.Opacity)" /> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="CommonStates"> <VisualState x:Name="Normal" /> <VisualState x:Name="MouseOver"> <!--Bez najeti mysi--> </VisualState> <VisualState x:Name="Selected"> <Storyboard> <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetName="Background_Selected" Storyboard.TargetProperty="(UIElement.Visibility)"> <DiscreteObjectKeyFrame KeyTime="0"> <DiscreteObjectKeyFrame.Value> <Visibility>Visible</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="ValueStates"> <VisualState x:Name="RowValid" /> <VisualState x:Name="RowInvalid"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Background_Invalid" Storyboard.TargetProperty="(UIElement.Visibility)"> <DiscreteObjectKeyFrame KeyTime="0"> <DiscreteObjectKeyFrame.Value> <Visibility>Visible</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ErrorIndicator" Storyboard.TargetProperty="Visibility"> <DiscreteObjectKeyFrame KeyTime="0"> <DiscreteObjectKeyFrame.Value> <Visibility>Visible</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="EditStates"> <VisualState x:Name="ReadOnlyMode" /> <VisualState x:Name="EditMode"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="EditIndicator" Storyboard.TargetProperty="Visibility"> <DiscreteObjectKeyFrame KeyTime="0"> <DiscreteObjectKeyFrame.Value> <Visibility>Visible</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <grid:SelectiveScrollingGrid x:Name="grid"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Border x:Name="SelectionBackground" Grid.Column="2" Grid.ColumnSpan="2" Background="{TemplateBinding Background}" Margin="{TemplateBinding Margin}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Padding="{TemplateBinding Padding}" grid:SelectiveScrollingGrid.SelectiveScrollingClip="True" /> <Rectangle x:Name="Background_Over" Fill="{telerik:Windows8Resource ResourceKey=StrongBrush}" Opacity="0.1" Grid.ColumnSpan="4" Visibility="Collapsed" grid:SelectiveScrollingGrid.SelectiveScrollingClip="True" /> <Rectangle x:Name="Background_Selected" Fill="#FF9c9c9c" Visibility="Collapsed" Margin="0,0,0,0" Grid.ColumnSpan="4" grid:SelectiveScrollingGrid.SelectiveScrollingClip="True"/> <!--Ramecek pro erroru--> <Rectangle x:Name="Background_Invalid" Stroke="#FFe56060" Fill="White" StrokeThickness="1" Grid.ColumnSpan="4" Visibility="Collapsed" grid:SelectiveScrollingGrid.SelectiveScrollingClip="True" /> <controls:GridViewToggleButton Grid.Column="2" x:Name="PART_HierarchyExpandButton" Width="25" grid:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Opacity="{Binding IsExpandable, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BooleanToOpacityConverter}}" IsHitTestVisible="{Binding IsExpandable, RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding HasHierarchy, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BooleanToVisibilityConverter}}" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" IsTabStop="{TemplateBinding IsTabStop}" /> <Border Grid.Column="2" grid:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{Binding HasHierarchy, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BooleanToVisibilityConverter}}" /> <grid:DataCellsPresenter Grid.Column="3" x:Name="PART_DataCellsPresenter" /> <Border x:Name="PART_RowBorder" SnapsToDevicePixels="True" ClipToBounds="False" BorderBrush="{TemplateBinding HorizontalGridLinesBrush}" BorderThickness="{Binding HorizontalGridLinesWidth, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource GridLineWidthToThicknessConverter}, ConverterParameter=Bottom}" Grid.ColumnSpan="4" Grid.Column="1" Grid.RowSpan="4" VerticalAlignment="Bottom" grid:SelectiveScrollingGrid.SelectiveScrollingClip="True" /> <Border Grid.Column="2" Grid.Row="2" Grid.ColumnSpan="2" grid:SelectiveScrollingGrid.SelectiveScrollingClip="True"> <ContentPresenter x:Name="PART_HierarchyChildPresenter" grid:SelectiveScrollingGrid.SelectiveScrollingClip="True" Visibility="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BooleanToVisibilityConverter}}" /> </Border> <grid:DetailsPresenter x:Name="PART_DetailsPresenter" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="1" DetailsProvider="{TemplateBinding DetailsProvider}" /> <Border x:Name="PART_IndicatorPresenter" Width="25" VerticalAlignment="Stretch" Visibility="{TemplateBinding RowIndicatorVisibility}" grid:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Grid.RowSpan="3" Background="{telerik:Windows8Resource ResourceKey=MainBrush}" BorderBrush="{telerik:Windows8Resource ResourceKey=BasicBrush}" BorderThickness="0,0,1,0"> <Grid> <Grid x:Name="NavigatorIndicator" HorizontalAlignment="Center" VerticalAlignment="Center" Width="9" Height="9" Visibility="Collapsed"> <Path x:Name="plus" Stretch="Fill" Width="8" Height="4" Data="M0,0 L8,2.3841858E-07 L4,4 z" RenderTransformOrigin="0.5,0.5" Fill="{telerik:Windows8Resource ResourceKey=AccentBrush}" StrokeThickness="{TemplateBinding BorderThickness}" Margin="{TemplateBinding Padding}"> <Path.RenderTransform> <TransformGroup> <ScaleTransform ScaleY="0" /> <SkewTransform /> <RotateTransform Angle="90" /> <TranslateTransform X="9.5006054579016563E-08" Y="-4.6599587300022449E-08" /> </TransformGroup> </Path.RenderTransform> </Path> </Grid> <Border x:Name="EditIndicator" HorizontalAlignment="Center" VerticalAlignment="Center" Width="12" Height="10" Visibility="Collapsed" Background="{telerik:Windows8Resource ResourceKey=MainBrush}" BorderBrush="{telerik:Windows8Resource ResourceKey=StrongBrush}" BorderThickness="0"> <Path Fill="Transparent" Stretch="Fill" Data="M3,2 L4,2 L5,2 L6,2 L6,3 L5,3 L5,4 L5,5 L5,6 L5,7 L6,7 L6,8 L5,8 L4,8 L3,8 L3,7 L4,7 L4,6 L4,5 L4,4 L4,3 L3,3 z" HorizontalAlignment="Left" Margin="0,0,0,0" Width="3" Height="6" /> </Border> <!--Error pri spatnem vyplneni--> <Grid x:Name="ErrorIndicator" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="Collapsed"> <Ellipse Fill="{telerik:Windows8Resource ResourceKey=MainBrush}" Width="16" Height="16" Stroke="#FFe56060" /> <Path Data="M1.0000001,8 C1.5522848,8 2.0000002,8.4477148 2.0000002,9 C2.0000002,9.5522842 1.5522848,10 1.0000001,10 C0.4477154,10 1.527369E-07,9.5522842 1.4901161E-07,9 C1.527369E-07,8.4477148 0.4477154,8 1.0000001,8 z M0,0 L2,0 L2,7 L0,7 z" Fill="#FFe56060" Width="2" Height="10" Stretch="Fill" /> <ToolTipService.ToolTip> <ToolTip x:Name="validationTooltip" Placement="Bottom" Content="{TemplateBinding Errors}"></ToolTip> </ToolTipService.ToolTip> </Grid> <Border x:Name="PART_RowResizer" Background="Transparent" Height="4" VerticalAlignment="Bottom" Cursor="SizeNS" /> </Grid> </Border> <grid:IndentPresenter x:Name="PART_IndentPresenter" IndentLevel="{TemplateBinding IndentLevel}" Grid.Column="1" Grid.RowSpan="4" grid:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" /> </grid:SelectiveScrollingGrid> </Border> </ControlTemplate> <Style x:Key="GridViewRowStyle" TargetType="grid:GridViewRow"> <Setter Property="IsTabStop" Value="False" /> <Setter Property="Template" Value="{DynamicResource GridViewRowTemplate}" /> <Setter Property="Background" Value="#FF8a8a8a" /> <Setter Property="FontWeight" Value="Normal" /> <Setter Property="AllowDrop" Value="True" /> <Setter Property="VerticalContentAlignment" Value="Stretch" /> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> <Setter Property="Padding" Value="0" /> <Setter Property="BorderThickness" Value="0" /> <Setter Property="SnapsToDevicePixels" Value="False" /> </Style> <Style TargetType="grid:GridViewRow" BasedOn="{StaticResource GridViewRowStyle}" />Firstly with the datepicker just in edit template I wasnt seeing it at all, secondly the formatting of date MMM/yyy isnt showing?
<telerik:RadGridView.Columns> <telerik:GridViewDataColumn Header="Lot Number" DataMemberBinding="{Binding LotNumber}" /> <telerik:GridViewDataColumn Header="Expiry Date" DataMemberBinding="{Binding ExpiryDate}" DataFormatString="{} {0: MMM/yyyy}"> <telerik:GridViewDataColumn.CellTemplate> <DataTemplate> <telerik:RadDatePicker x:Name="datePicker" DateTimeWatermarkContent="Select a date" SelectedValue="{Binding ExpiryDate, Mode=OneWay}" DateSelectionMode="Month"/> </DataTemplate> </telerik:GridViewDataColumn.CellTemplate> <telerik:GridViewDataColumn.CellEditTemplate> <DataTemplate> <telerik:RadDatePicker x:Name="datePickerEdit" DateTimeWatermarkContent="Select a date" SelectedValue="{Binding ExpiryDate, Mode=TwoWay}" DateSelectionMode="Month" /> </DataTemplate> </telerik:GridViewDataColumn.CellEditTemplate> </telerik:GridViewDataColumn> </telerik:RadGridView.Columns></telerik:RadGridView> I have a radgridview that has a unbounded column that I would like to set the value based on another column's value.
Ex. If column 1 is true set column 2 to "T"
I have this code so far
Private Sub RadGridView_RowLoaded(sender As Object, e As RowLoadedEventArgs) Handles RadGridView.RowLoaded
Dim currentTrans As Trans
If TypeOf e.Row Is GridViewRow AndAlso Not (TypeOf e.Row Is GridViewNewRow) Then
Dim Trans As Trans = TryCast(e.DataElement, Trans)
If Trans.Transmit = True Then
????????????????????
End If
End If
I can go thru each row and check the value of column 1 but I cannot find how to set the value of column 2
Thank you
public class BusinessObject : INotifyPropertyChanged{ public double Width { get; set; } public double Height { get; set; }}public class PropertyGridWrapper_for_BusinessObject : INotifyPropertyChanged
{private BusinessObject m_BusinessObject = ...;private Size m_Size = ...; [Browsable(false)]public double Width{get { return m_BusinessObject.Width; }set{if (m_BusinessObject.Width != value){if (PreserveAspect)// change Height, as well
else// change Width}}}[Browsable(false)]public double Height { ... similar to Width ... }public Size Size { get { return m_Size; } }[Browsable(false)]public bool PreserveAspect { get; set; }}<DataTemplate x:Key="BusinessObjectSizePropertyGridTemplate"><Grid><Grid.RowDefinitions><RowDefinition /><RowDefinition /></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="Auto" /><ColumnDefinition Width="*" /><ColumnDefinition Width="Auto" /></Grid.ColumnDefinitions><TextBlock Grid.Row="0" Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Text="Height: " /><TextBox Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Text="{Binding Height}" /><TextBlock Grid.Row="1" Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center" Text="Width: " /><TextBox Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Text="{Binding Width}" /><Grid Grid.Row="0" Grid.Column="2" Grid.RowSpan="2" Margin="4"><Grid.RowDefinitions><RowDefinition /><RowDefinition /><RowDefinition /></Grid.RowDefinitions><TextBlock Grid.Row="0" FontFamily="Arial" Text="┐" VerticalAlignment="Bottom" Margin="0,0,0,5" /><CheckBox Grid.Row="1" VerticalAlignment="Center" IsChecked="{Binding PreserveAspect}" /><TextBlock Grid.Row="2" FontFamily="Arial" Text="┘" VerticalAlignment="Top" Margin="0,5,0,0" /></Grid></Grid></DataTemplate>