I am using the xamDataGrid and edit template is assigned to one of the Field of the DataGrid -
xmlns
:infra="http://infragistics.com/Editors"
<Style x:Key="ComboStyle" TargetType="{x:Type infra:ValueEditor}"> <Setter Property ="EditTemplate"> <Setter.Value> <ControlTemplate TargetType="{x:Type infra:ValueEditor}"> <ComboBox Name="uxFacility" Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged }"> </ComboBox> </ControlTemplate> </Setter.Value> </Setter></Style>
This edit template gets assigned to the field at runtime. Now if I use the key board to traverse to the perticular cell (field). as per the template above the combobox gets displayed in the cell but the focus still remains on the cell. I want the focus to get shift to the combox the moment it gets displayed.
any clues?
Thanks in advance.
~Sachin
Actually the requirement is - As per the sample attached in the previes sample -
Say currently the focus is in the name column. I press the tab key and shift the focus to the salary column. Now I wanted a combo box to appear in the salary cell having the focus inside it.
But when i run the sample and press the tab key a Textbox is getting dispalyed instead of the combobox in the salary column.
Any reason for this. Is it dispalying the combobox in the salary column at your end?
Sachin,
Actually I do not see a difference. I added some items to the ComboEditor and when you tab-navigate to the cell, the ComboEditor gets focus and you can use the arrow keys to navigate its items.
What is your requirement and what do you think is not a correct behavior?
Alex.
Please find the code attached herewith.
Please fine the comment like -
1. Attach style at runtime
2. Style at design time
Hello Sachin,
I also tried it and it works from the code behind, actually there is no reason not to work. Do you have a sample project that illustrates the problem. If so, please attach it to your next post so we can look into it.
Regards,
Hello Alex,
Thanks for your quick response.
I have referred the above mentioned url and the sample. But still i am facing the problem at runtime.
If i apply the EditorStyle at design time it works fine for me but if i apply the same editor style at runtime it does not uses the style and data template does not gets applied.
Am I missing any thing here...
Code which works fine at design time -
<igDP:Field Name="salary"> <igDP:Field.Settings> <igDP:FieldSettings> <igDP:FieldSettings.EditorStyle> <Style TargetType="{x:Type igSamples:ControlHostEditor}"> <Setter Property="EditDataTemplate"> <Setter.Value> <DataTemplate> <ComboBox /> </DataTemplate> </Setter.Value> </Setter> </Style> </igDP:FieldSettings.EditorStyle> </igDP:FieldSettings> </igDP:Field.Settings> </igDP:Field>
Following is the Code which does not work -
<igDP:XamDataGrid.Resources> <Style x:Key="MultiComboStyle" TargetType="{x:Type igSamples:ControlHostEditor}"> <Setter Property="EditDataTemplate"> <Setter.Value> <DataTemplate> <ComboBox /> </DataTemplate> </Setter.Value> </Setter> </Style></igDP:XamDataGrid.Resources>
the code behind - private void Window_Loaded(object sender, RoutedEventArgs e){ FieldLayout fl = xamDataGrid.FieldLayouts[0]; Field field = fl.Fields["salary"]; field.Settings.EditorStyle = xamDataGrid.FindResource("MultiComboStyle") as Style;}
Please suggest.