This is a migrated thread and some comments may be shown as answers.

Object reference not set to an instance of an object CellEditEndedEvent.

3 Answers 256 Views
GridView
This is a migrated thread and some comments may be shown as answers.
Pallavi
Top achievements
Rank 1
Pallavi asked on 08 Nov 2013, 09:04 AM
Hi ,

I have created grid which shows weekly workhours when i end the value of hours from grid cell the value is updated but after celleditended event is finished , i get following error:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Telerik.Windows.Controls.GridView.GridViewCell.RaiseCellEditEndedEvent(GridViewEditAction editAction)
   at Telerik.Windows.Controls.GridView.GridViewDataControl.PerformCellEditEnded(GridViewCell currentCell)
   at Telerik.Windows.Controls.GridView.GridViewDataControl.CommitCellEdit(GridViewCell currentCell, Boolean isLeavingRow)
   at Telerik.Windows.Controls.GridView.GridViewDataControl.CommitEdit()
   at Telerik.Windows.Controls.GridView.GridViewDataControl.OnCommitEditCommand(Object sender, ExecutedRoutedEventArgs e)
   at System.Windows.Input.CommandBinding.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
   at System.Windows.Input.CommandManager.ExecuteCommandBinding(Object sender, ExecutedRoutedEventArgs e, CommandBinding commandBinding)
   at System.Windows.Input.CommandManager.FindCommandBinding(CommandBindingCollection commandBindings, Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
   at System.Windows.Input.CommandManager.FindCommandBinding(Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
   at System.Windows.Input.CommandManager.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
   at System.Windows.UIElement.OnExecutedThunk(Object sender, ExecutedRoutedEventArgs e)
   at System.Windows.Input.ExecutedRoutedEventArgs.InvokeEventHandler(Delegate genericHandler, Object target)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   at System.Windows.Input.RoutedCommand.ExecuteImpl(Object parameter, IInputElement target, Boolean userInitiated)
   at System.Windows.Input.RoutedCommand.Execute(Object parameter, IInputElement target)
   at Telerik.Windows.Controls.GridView.GridViewDataControl.ExecutePendingCommand()
   at Telerik.Windows.Controls.GridView.GridViewDataControl.PendAndExecuteCommands(KeyEventArgs e)
   at Telerik.Windows.Controls.GridView.GridViewDataControl.OnKeyDown(KeyEventArgs e)
   at System.Windows.UIElement.OnKeyDownThunk(Object sender, KeyEventArgs e)
   at System.Windows.Input.KeyEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)

Here is my xaml for grid
<telerik:RadGridView ActionOnLostFocus="None"  RowIndicatorVisibility="Collapsed" GridLinesVisibility="Both" x:Name="grdTimeRecording" IsReadOnlyBinding="{Binding Path=IsLastRow}" Grid.Row="1" AutoGenerateColumns="False" CellEditEnded="GrdTimeRecording_OnCellEditEnded" >
                <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:GridViewColumn Header="" ColumnGroupName="Project" Background="{DynamicResource ControlBackgroundLight}" IsReadOnly="True">
                     <telerik:GridViewColumn.CellTemplate>
                         <DataTemplate>
                                <Border x:Name="border">
                                    <Grid x:Name="grd"  Background="{DynamicResource ControlBackgroundLight}">
                                        <!--<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" 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:GridViewColumn.CellTemplate>
                 </telerik:GridViewColumn>

                    <telerik:GridViewDataColumn Header="Std" ColumnGroupName="Monday" >
                        <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" 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="Auto"/>
                                            <ColumnDefinition Width="*"/>
                                        </Grid.ColumnDefinitions>
                                        <TextBox x:Name="txtStd"  Text="{Binding Path=MondayStd,StringFormat=N}"/>
                                    </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" TextChanged="TxtStd_OnTextChanged" 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>
                </telerik:RadGridView>

and here is the c# code
 private void FillDataTable()
        {
           
            Performances.Clear();
            foreach (var node in project)
            {
                var row = new TabularTimeRecordingModel
                {
                    projectId = node.ID,
                    project = node.Name,
                    MondayLB = GetPerformanceBarsTotal(_FirstDate, node.ID),
                    MondayStd = GetPerformancesTotal(_FirstDate, node.ID),
                    TuesdayLB = GetPerformanceBarsTotal(_FirstDate.AddDays(1), node.ID),
                    TuesdayStd = GetPerformancesTotal(_FirstDate.AddDays(1), node.ID),
                    WednesdayLB = GetPerformanceBarsTotal(_FirstDate.AddDays(2), node.ID),
                    WednesdayStd = GetPerformancesTotal(_FirstDate.AddDays(2), node.ID),
                    ThursdayLB = GetPerformanceBarsTotal(_FirstDate.AddDays(3), node.ID),
                    ThursdayStd = GetPerformancesTotal(_FirstDate.AddDays(3), node.ID),
                    FridayLB = GetPerformanceBarsTotal(_FirstDate.AddDays(4), node.ID),
                    FridayStd = GetPerformancesTotal(_FirstDate.AddDays(4), node.ID),
                    SaturdayLB = GetPerformanceBarsTotal(_FirstDate.AddDays(5), node.ID),
                    SaturdayStd = GetPerformancesTotal(_FirstDate.AddDays(5), node.ID),
                    SundayLB = GetPerformanceBarsTotal(_FirstDate.AddDays(6), node.ID),
                    SundayStd = GetPerformancesTotal(_FirstDate.AddDays(6), node.ID),
                    Sum = GetProjectsTotal(node.ID)
                };

                Performances.Add(row);
            }
                grdTimeRecording.ItemsSource = Performances;
                grdTimeRecording.DataContext = Performances;
            
        }

 private void GrdTimeRecording_OnCellEditEnded(object sender, GridViewCellEditEndedEventArgs e)
        {
            var text = GetTextBox((DependencyObject) e.EditingElement).Text;
            var dayIndex = (e.Cell.Column.DisplayIndex - 1)/2;
            var projectId = ((TabularTimeRecordingModel) (e.OldData)).projectId;
            var hours = Convert.ToDouble(text);
            UpdatePerformanceHoursByDate(_FirstDate.AddDays(dayIndex), projectId, hours);
            e.Handled = true;
        }

        private void UpdatePerformanceHoursByDate(DateTime date, int projectId, double hours)
        {
            if (_datachaged)
            {
                if (TimeRecording[date] == null) RefreshTimeRecording(date);

                var recordingDay = TimeRecording[date];
                if (recordingDay == null) return;
                foreach (var performace in recordingDay.Performances.Where(p => p.ProjectID == projectId))
                {
                    performace.Duration = (int) hours*60;
                }
                recordingDay.Save();
                _datachaged = false;
                FillDataTable();
            }
        }

please suggest me the simple way to solve this issue, i can not use MVVM pattern to refresh the cell value i this case.

3 Answers, 1 is accepted

Sort by
0
Vera
Telerik team
answered on 08 Nov 2013, 09:29 AM
Hi Pallavi,

Could you specify the version of RadControls for WPF you are currently using?

Regards,
Vera
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 >>
0
Pallavi
Top achievements
Rank 1
answered on 08 Nov 2013, 10:11 AM
Hi,

we are using Q3 2013, (version="2013.3.1016")
0
Vera
Telerik team
answered on 13 Nov 2013, 01:23 PM
Hello Pallavi,

Actually, this behavior is expected. We would not recommend you to clear the source on CellEditEnded event. But as a workaround you can call FillDataTable() method through a dispatcher like so:

Dispatcher.BeginInvoke(new Action(() => FillDataTable()));     

You will also need to remove this code

grdTimeRecording.ItemsSource = Performances;

from FillDataTable() method in order to make it work. As far as I understand, Performances collection is initially set as ItemsSource for the GridView.


Regards,
Vera
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 >>
Tags
GridView
Asked by
Pallavi
Top achievements
Rank 1
Answers by
Vera
Telerik team
Pallavi
Top achievements
Rank 1
Share this question
or