Hi Support,
I have Radgrid, in loaded event of gridrow i change the backcolor of cell according to certain conditions. My problem is when the color is changed the cell border was crossed by changed color. that means i am not able to see border color after cell background change.
here is the XAML for grid.
<UiLib:PersistableBaseGrid RowIndicatorVisibility="Collapsed" RowLoaded="GrdTimeRecording_OnRowLoaded" GridLinesVisibility="Both" x:Name="grdTimeRecording" ShowGroupPanel="False" IsReadOnlyBinding="{Binding Path=IsLastRow}" Deleting="GrdTimeRecording_OnDeleting" Grid.Row="1" KeyDown="GrdTimeRecording_OnKeyDown" AutoGenerateColumns="False" UserSettingsGroup="TabularTimeRecordingDialog" UserSettingsKey="TabularTimeRecordingGrid">
<telerik:RadGridView.ColumnGroups>
<telerik:GridViewColumnGroup HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}" Name="Monday"
Header="Mon" />
<telerik:GridViewColumnGroup HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}" Name="Tuesday"
Header="Tue" />
<telerik:GridViewColumnGroup Name="Wednesday" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="Wed" />
<telerik:GridViewColumnGroup Name="Thursday" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="Thu" />
<telerik:GridViewColumnGroup Name="Friday" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="Fri" />
<telerik:GridViewColumnGroup Name="Saturday" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="Sat" />
<telerik:GridViewColumnGroup Name="Sunday" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="Sun" />
<telerik:GridViewColumnGroup Name="Project" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="" />
<telerik:GridViewColumnGroup Name="Sum" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="Sum" />
</telerik:RadGridView.ColumnGroups>
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="" ContextMenu="{DynamicResource ContextMenuForPerformances}" ColumnGroupName="Project" Background="{DynamicResource ControlBackgroundLightBrush}" ContextMenuOpening="ContextMenuForProject_OnContextMenuOpening">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" Background="{DynamicResource ControlBackgroundLightBrush}">
<!--<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFC8D2D7" Offset="0" />
<GradientStop Color="#FFE1EBF0" Offset="1" />
</LinearGradientBrush>
</Grid.Background>-->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Source="{Binding Path=projectId,Converter={StaticResource ProjectIconConverter}}" Grid.Column="0" Margin="3" ></Image>
<TextBlock x:Name="projectId" Visibility="Visible" Grid.Column="1" Text="{Binding Path=ID}"></TextBlock>
<TextBlock VerticalAlignment="Center" Grid.Column="2" Tag="TabularZE" ContextMenu="{DynamicResource ContextMenuForProjects}" Text="{Binding Path=projectId,Converter={StaticResource ProjectTitleConverter},ConverterParameter=RootNodeAsSum}" x:Name="txtProject" HorizontalAlignment="Stretch" TextBlock.TextAlignment="Left" TextWrapping="NoWrap" TextTrimming="WordEllipsis" />
</Grid>
</Border>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=projectId}" Value="0">
<Setter TargetName="txtProject" Property="Text" Value="Summe"/>
<!--<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFC8D2D7" Offset="0" />
<GradientStop Color="#FFE1EBF0" Offset="1" />
</LinearGradientBrush>
</Setter.Value>-->
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Monday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" TextAlignment="Right" Text="{Binding Path=MondayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" KeyDown="TxtStd_OnKeyDown" Text="{Binding Path=MondayStd,StringFormat=N}" ContextMenuOpening="ContextMenuForPerformances_OnContextMenuOpening" ContextMenu="{DynamicResource ContextMenuForPerformances}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Monday" IsReadOnly="True" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=MondayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Tuesday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=TuesdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" Text="{Binding Path=TuesdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Tuesday" IsReadOnly="True" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=TuesdayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Wednesday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=WednesdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" Text="{Binding Path=WednesdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Wednesday" IsReadOnly="True" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=WednesdayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Thursday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=ThursdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" Text="{Binding Path=ThursdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Thursday" IsReadOnly="True">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=ThursdayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Friday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=FridayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" Text="{Binding Path=FridayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Friday" IsReadOnly="True" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=FridayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Saturday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=SaturdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" Text="{Binding Path=SaturdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Saturday" IsReadOnly="True" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=SaturdayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Sunday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=SundayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" Text="{Binding Path=SundayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Sunday" IsReadOnly="True" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=SundayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewColumn Header="Sum" ColumnGroupName="Sum" IsReadOnly="True">
<telerik:GridViewColumn.CellTemplate>
<DataTemplate>
<Border BorderThickness="0">
<TextBlock x:Name="txtSummeCol" TextAlignment="Right" Text="{Binding Path=Sum,StringFormat=N}" HorizontalAlignment="Stretch" Padding="3" Margin="0,0,0,-1" VerticalAlignment="Stretch" ></TextBlock>
</Border>
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewColumn>
</telerik:RadGridView.Columns>
</UiLib:PersistableBaseGrid>
and row loading event.
private void GrdTimeRecording_OnRowLoaded(object sender, RowLoadedEventArgs e)
{
var rowindex = grdTimeRecording.ItemContainerGenerator.IndexFromContainer(e.Row);
var columnIndex = 1;
for (var date = FirstDate; date <= FirstDate.AddDays(6); date = date.AddDays(1))
{
if (rowindex >= 0 && columnIndex < grdTimeRecording.Columns.Count - 1)
{
var currentCell = e.Row.Cells[columnIndex];
var border = UILib.GetVisualChild<Border>(currentCell);
if (border != null)
{
border.Background = ValidateForErrors(date, columnIndex % 2 == 0);
}
columnIndex++;
}
//else if (rowindex == grdTimeRecording.Items.Count - 1)
//{
// e.Row.Background =(Brush) Application.Current.Resources["ControlBackgroundLightBrush"];
//}
else if(rowindex == -1 || columnIndex == grdTimeRecording.Columns.Count -1)
break;
}
}
I have Radgrid, in loaded event of gridrow i change the backcolor of cell according to certain conditions. My problem is when the color is changed the cell border was crossed by changed color. that means i am not able to see border color after cell background change.
here is the XAML for grid.
<UiLib:PersistableBaseGrid RowIndicatorVisibility="Collapsed" RowLoaded="GrdTimeRecording_OnRowLoaded" GridLinesVisibility="Both" x:Name="grdTimeRecording" ShowGroupPanel="False" IsReadOnlyBinding="{Binding Path=IsLastRow}" Deleting="GrdTimeRecording_OnDeleting" Grid.Row="1" KeyDown="GrdTimeRecording_OnKeyDown" AutoGenerateColumns="False" UserSettingsGroup="TabularTimeRecordingDialog" UserSettingsKey="TabularTimeRecordingGrid">
<telerik:RadGridView.ColumnGroups>
<telerik:GridViewColumnGroup HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}" Name="Monday"
Header="Mon" />
<telerik:GridViewColumnGroup HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}" Name="Tuesday"
Header="Tue" />
<telerik:GridViewColumnGroup Name="Wednesday" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="Wed" />
<telerik:GridViewColumnGroup Name="Thursday" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="Thu" />
<telerik:GridViewColumnGroup Name="Friday" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="Fri" />
<telerik:GridViewColumnGroup Name="Saturday" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="Sat" />
<telerik:GridViewColumnGroup Name="Sunday" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="Sun" />
<telerik:GridViewColumnGroup Name="Project" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="" />
<telerik:GridViewColumnGroup Name="Sum" HeaderStyle="{DynamicResource TelerikCommonColumnHeaderStyle}"
Header="Sum" />
</telerik:RadGridView.ColumnGroups>
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="" ContextMenu="{DynamicResource ContextMenuForPerformances}" ColumnGroupName="Project" Background="{DynamicResource ControlBackgroundLightBrush}" ContextMenuOpening="ContextMenuForProject_OnContextMenuOpening">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" Background="{DynamicResource ControlBackgroundLightBrush}">
<!--<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFC8D2D7" Offset="0" />
<GradientStop Color="#FFE1EBF0" Offset="1" />
</LinearGradientBrush>
</Grid.Background>-->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Source="{Binding Path=projectId,Converter={StaticResource ProjectIconConverter}}" Grid.Column="0" Margin="3" ></Image>
<TextBlock x:Name="projectId" Visibility="Visible" Grid.Column="1" Text="{Binding Path=ID}"></TextBlock>
<TextBlock VerticalAlignment="Center" Grid.Column="2" Tag="TabularZE" ContextMenu="{DynamicResource ContextMenuForProjects}" Text="{Binding Path=projectId,Converter={StaticResource ProjectTitleConverter},ConverterParameter=RootNodeAsSum}" x:Name="txtProject" HorizontalAlignment="Stretch" TextBlock.TextAlignment="Left" TextWrapping="NoWrap" TextTrimming="WordEllipsis" />
</Grid>
</Border>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=projectId}" Value="0">
<Setter TargetName="txtProject" Property="Text" Value="Summe"/>
<!--<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFC8D2D7" Offset="0" />
<GradientStop Color="#FFE1EBF0" Offset="1" />
</LinearGradientBrush>
</Setter.Value>-->
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Monday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" TextAlignment="Right" Text="{Binding Path=MondayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" KeyDown="TxtStd_OnKeyDown" Text="{Binding Path=MondayStd,StringFormat=N}" ContextMenuOpening="ContextMenuForPerformances_OnContextMenuOpening" ContextMenu="{DynamicResource ContextMenuForPerformances}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Monday" IsReadOnly="True" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=MondayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Tuesday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=TuesdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" Text="{Binding Path=TuesdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Tuesday" IsReadOnly="True" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=TuesdayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Wednesday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=WednesdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" Text="{Binding Path=WednesdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Wednesday" IsReadOnly="True" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=WednesdayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Thursday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=ThursdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" Text="{Binding Path=ThursdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Thursday" IsReadOnly="True">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=ThursdayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Friday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=FridayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" Text="{Binding Path=FridayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Friday" IsReadOnly="True" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=FridayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Saturday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=SaturdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" Text="{Binding Path=SaturdayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Saturday" IsReadOnly="True" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=SaturdayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Std" ColumnGroupName="Sunday" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=SundayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtStd" Text="{Binding Path=SundayStd,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="(LB)" ColumnGroupName="Sunday" IsReadOnly="True" >
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<Border x:Name="border">
<Grid x:Name="grd" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtStd" Text="{Binding Path=SundayLB,StringFormat=N}"/>
</Grid>
</Border>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewColumn Header="Sum" ColumnGroupName="Sum" IsReadOnly="True">
<telerik:GridViewColumn.CellTemplate>
<DataTemplate>
<Border BorderThickness="0">
<TextBlock x:Name="txtSummeCol" TextAlignment="Right" Text="{Binding Path=Sum,StringFormat=N}" HorizontalAlignment="Stretch" Padding="3" Margin="0,0,0,-1" VerticalAlignment="Stretch" ></TextBlock>
</Border>
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewColumn>
</telerik:RadGridView.Columns>
</UiLib:PersistableBaseGrid>
and row loading event.
private void GrdTimeRecording_OnRowLoaded(object sender, RowLoadedEventArgs e)
{
var rowindex = grdTimeRecording.ItemContainerGenerator.IndexFromContainer(e.Row);
var columnIndex = 1;
for (var date = FirstDate; date <= FirstDate.AddDays(6); date = date.AddDays(1))
{
if (rowindex >= 0 && columnIndex < grdTimeRecording.Columns.Count - 1)
{
var currentCell = e.Row.Cells[columnIndex];
var border = UILib.GetVisualChild<Border>(currentCell);
if (border != null)
{
border.Background = ValidateForErrors(date, columnIndex % 2 == 0);
}
columnIndex++;
}
//else if (rowindex == grdTimeRecording.Items.Count - 1)
//{
// e.Row.Background =(Brush) Application.Current.Resources["ControlBackgroundLightBrush"];
//}
else if(rowindex == -1 || columnIndex == grdTimeRecording.Columns.Count -1)
break;
}
}