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

[Solved] Tabs take me out of edit mode

5 Answers 223 Views
GridView
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Terry
Top achievements
Rank 1
Terry asked on 24 Oct 2010, 10:24 PM
If I remember correctly, a user could be in edit mode in a row of the grid, strike tab, and go to the next field, which would be in edit mode.  Somehow, recently that behavior has gone away.  The user now has to click in the next field to enter edit mode.  I want the user to tab through the fields in a row editing each field as he goes.  Is there some new setting to control that?

Thanks,

Terry

5 Answers, 1 is accepted

Sort by
0
Maya
Telerik team
answered on 25 Oct 2010, 10:12 AM
Hi Terry,

Basically, there should be no problem to tab through the items in edit-mode and no changes have been made to remove that behavior. However, in order to be able to test the issue you specified and provide you with any solution, I would need more details about your application. Do you have any customized CellTemplates/ CellEditTemplate ? Any relevant code-snippet would be helpful.


Regards,
Maya
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Terry
Top achievements
Rank 1
answered on 25 Oct 2010, 06:27 PM
Hi Maya:

I've included the XAML below.  What happens is when I tab out of the StartTime (2nd column) or EndTime (3rd column) I get a RowValiidating and RowEnded event.  However if I click the next field to edit it, this does not happen.  So is it an issue with the RadTimePicker KeyDown event deciding the tab is ending the row edit?  This worked correctly in the past.

I've also included the KeyDown event code, but I don't see how that could be the issue.

I'm using v 2010.2.924.1040.

Thanks,

Terry


<radGridView:RadGridView x:Name="gvTimeSheet" AutoGenerateColumns="False" AddingNewDataItem="gvTimeSheet_AddingNewDataItem" IsSynchronizedWithCurrentItem="True"
                  ShowGroupPanel="False" RowValidating="gvTimeSheet_RowValidating" CanUserSelect="True" SelectionMode="Extended"  IsFilteringAllowed="False"
                  IsReadOnly="False" CanUserInsertRows="True" ShowColumnFooters="False" ShowGroupFooters="False" RowEditEnded="gvTimeSheet_RowEditEnded" TabNavigation="Once" >
                <radNav:RadContextMenu.ContextMenu>
                    <radNav:RadContextMenu x:Name="Context_Menu" ItemClick="Context_Menu_ItemClick" Opened="Context_Menu_Opened">
                        <radNav:RadMenuItem Header="Delete this charge" />
                    </radNav:RadContextMenu>
                </radNav:RadContextMenu.ContextMenu>
                <radGridView:RadGridView.Columns>
                    <radGridView:GridViewDataColumn Header="Date"
                        DataMemberBinding="{Binding StartDate, Mode=TwoWay}" >
                        <radGridView:GridViewDataColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding StartDate, Converter={StaticResource DateToStringConverter2}}" />
                            </DataTemplate>
                        </radGridView:GridViewDataColumn.CellTemplate>
                        <radGridView:GridViewDataColumn.CellEditTemplate>
                            <DataTemplate>
                                <radInput:RadDatePicker Loaded="Editor_Loaded" KeyDown="RadDatePicker_KeyDown" SelectionChanged="RadDatePicker_SelectionChanged"
                                        SelectedDate="{Binding StartDate, Mode=TwoWay}" DisplayDateChanged="RadDatePicker_DisplayDateChanged" />
                            </DataTemplate>
                        </radGridView:GridViewDataColumn.CellEditTemplate>
                    </radGridView:GridViewDataColumn>
  
                    <!-- Start Time -->
                    <radGridView:GridViewDataColumn Header="Start Time"
                        DataMemberBinding="{Binding StartTimeSpan, Mode=TwoWay}">
                        <radGridView:GridViewDataColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding StartTimeSpan, Converter={StaticResource TimeSpanToStringConverter}}" />
                            </DataTemplate>
                        </radGridView:GridViewDataColumn.CellTemplate>
                        <radGridView:GridViewDataColumn.CellEditTemplate>
                            <DataTemplate>
                                <radInput:RadTimePicker x:Name="StartTimePicker" TimeInterval="0:15:0"   
                                     SelectedTime="{Binding StartTimeSpan, Mode=TwoWay}" KeyDown="TimePicker_KeyDown" />
                            </DataTemplate>
                        </radGridView:GridViewDataColumn.CellEditTemplate>
                    </radGridView:GridViewDataColumn>
                      
                    <!-- End Time -->
                    <radGridView:GridViewDataColumn Header="End Time"
                        DataMemberBinding="{Binding EndTimeSpan, Mode=TwoWay}">
                        <radGridView:GridViewDataColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding EndTimeSpan, Converter={StaticResource TimeSpanToStringConverter}}" />
                            </DataTemplate>
                        </radGridView:GridViewDataColumn.CellTemplate>
                        <radGridView:GridViewDataColumn.CellEditTemplate>
                            <DataTemplate>
                                <radInput:RadTimePicker TimeInterval="0:15:0"   
                                     SelectedTime="{Binding EndTimeSpan, Mode=TwoWay}" KeyDown="TimePicker_KeyDown" />
                            </DataTemplate>
                        </radGridView:GridViewDataColumn.CellEditTemplate>
                    </radGridView:GridViewDataColumn>
                     
                    <!-- Customer -->
                    <radGridView:GridViewComboBoxColumn x:Name="cboCustomer" DataMemberBinding="{Binding CustomerID, Mode=TwoWay}" Header="Customer" 
                          DisplayMemberPath="CustName" SelectedValueMemberPath="CustomerID" />
                      
                    <!-- Project -->
                    <radGridView:GridViewDataColumn Header="Project" DataMemberBinding="{Binding ProjectID, Mode=TwoWay}" >
                        <radGridView:GridViewDataColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding ProjName}" Loaded="TextBlock_Loaded" />
                            </DataTemplate>
                        </radGridView:GridViewDataColumn.CellTemplate>
                        <radGridView:GridViewDataColumn.CellEditTemplate>
                            <DataTemplate>
                                <radInput:RadComboBox x:Name="cboProject" DisplayMemberPath="ProjName" Text="{Binding ProjName, Mode=TwoWay}"
                                    SelectedValue="{Binding ProjectID, Mode=TwoWay}" Loaded="cboProject_Loaded"  SelectionChanged="cboProject_SelectionChanged" />
                            </DataTemplate>
                        </radGridView:GridViewDataColumn.CellEditTemplate>
                    </radGridView:GridViewDataColumn>
                      
                    <!-- Description -->
                    <radGridView:GridViewDataColumn Header="Description" DataMemberBinding="{Binding Description, Mode=TwoWay}">
                        <radGridView:GridViewDataColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding Description}" />
                            </DataTemplate>
                        </radGridView:GridViewDataColumn.CellTemplate>
                        <radGridView:GridViewDataColumn.CellEditTemplate>
                            <DataTemplate>
                                <TextBox Text="{Binding Description, Mode=TwoWay}"/>
                            </DataTemplate>
                        </radGridView:GridViewDataColumn.CellEditTemplate>
                    </radGridView:GridViewDataColumn>
                </radGridView:RadGridView.Columns>
            </radGridView:RadGridView>

The TimePicker event code:

private void TimePicker_KeyDown( object sender, KeyEventArgs e )
{
    Telerik.Windows.Controls.RadTimePicker TimePicker = sender as Telerik.Windows.Controls.RadTimePicker;
    if ( !TimePicker.SelectedTime.HasValue )
    {
        TimePicker.SelectedTime = DateTime.Now.TimeOfDay;
    }
    switch ( e.Key )
    {
        case System.Windows.Input.Key.Add:
            if ( TimePicker.SelectedTime.Value == new TimeSpan( 23, 45, 0 ) )
            {
                TimePicker.SelectedTime = new TimeSpan( 0, 0, 0 );
            }
            else
            {
                TimePicker.SelectedTime = TimePicker.SelectedTime.Value.Add( TimeSpan.FromMinutes( 15 ) );
            }
            e.Handled = true;
            break;
        case System.Windows.Input.Key.Subtract:
            if ( TimePicker.SelectedTime.Value == new TimeSpan( 0, 0, 0 ) )
            {
                TimePicker.SelectedTime = new TimeSpan( 23, 45, 0 );
            }
            else
            {
                TimePicker.SelectedTime = TimePicker.SelectedTime.Value.Add( TimeSpan.FromMinutes( -15 ) );
            }
            e.Handled = true;
            break;
    }
}


0
Maya
Telerik team
answered on 28 Oct 2010, 04:56 PM
Hi Terry,

Using the code-snippet you provided, I tried to reproduce the issue you described, but I was not able to. I am sending you the sample project I used for testing it. Please take a look at it and share if there is any misunderstandings according to your requirements.
 

Best wishes,
Maya
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Terry
Top achievements
Rank 1
answered on 01 Nov 2010, 07:38 PM
Hi Maya:

I can't build this application:

Error 1 The type or namespace name 'RadGridView' could not be found (are you missing a using directive or an assembly reference?) C:\aaa\Code\Test\TabOut_EditMode\TabOut_EditMode\obj\Debug\MainPage.g.i.cs 40 18 TabOut_EditMode
Error 2 The type or namespace name 'RadContextMenu' could not be found (are you missing a using directive or an assembly reference?) C:\aaa\Code\Test\TabOut_EditMode\TabOut_EditMode\obj\Debug\MainPage.g.i.cs 42 18 TabOut_EditMode

Thanks,

Terry
0
Maya
Telerik team
answered on 02 Nov 2010, 08:57 AM
Hi Terry,

Did you have the references pointing the necessary Telerik assemblies added ? If so, may you check in the properties of the solution whether it is targeting Silverlight 3 or Silverlight 4 ? Also, please try out if all the assemblies are for Silverlight 4.
 

Best wishes,
Maya
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
Tags
GridView
Asked by
Terry
Top achievements
Rank 1
Answers by
Maya
Telerik team
Terry
Top achievements
Rank 1
Share this question
or