Hi All,
I have a datagrid with one of datacolumn contains a combobox.
DataGrid contains a RowDetails template attached to it.
When i add a row into datagrid on click of button or delete a row from datagrid, selection change event of combobox gets called.
RowDetails template also contains a combobox with a selection change event.
When i am trying to click somewhere inside the rowdetailstemplate or trying to use a template scroll bar, combobox selection change event is getting fired.
Please provide the solution how we can avoid selection change event of combobox in above cases.
Please find below piece of code:
<telerik:RadGridView ItemsSource="{Binding Path=Customers}"
IsReadOnly="{Binding IsChecked, Mode=TwoWay, ElementName=IsReadOnlyCheckBox}" RowDetailsVisibilityMode="{Binding RowDetailsTemplateVisibilityMode, Mode=TwoWay}"
SelectionMode="Multiple" AutoGenerateColumns="False" VerticalAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Visible" MinHeight="100" MaxHeight="350">
<telerik:RadGridView.Columns>
<telerik:GridViewToggleRowDetailsColumn Width="30"/>
<telerik:GridViewSelectColumn Width="30"/>
<telerik:GridViewDataColumn DataMemberBinding="{Binding SlNo}" Header="S.no" IsReadOnly="True" IsEnabled="False" Width="20" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=Product}" Header="Product" IsReadOnly="True" IsEnabled="False" Width="250"/>
<telerik:GridViewDataColumn Header="Customer" Width="Auto">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Path=Customer}" HorizontalAlignment="Left" DisplayMemberPath="RunDesc" SelectedItem="{Binding RunsSelected}" IsEnabled="{Binding IsEnabledRun}" Style="{StaticResource SmallComboBox}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand Command="{Binding Path=LoadCustomersCommand}" PassEventArgsToCommand="False" CommandParameter="{Binding Path=DataContext,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ComboBox}}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
</telerik:RadGridView.Columns>
<telerik:RadGridView.RowDetailsTemplate >
<DataTemplate>
<Grid Background="{StaticResource MainBackgroundColor}" >
<ComboBox ItemsSource="{Binding Path=Customer}" HorizontalAlignment="Left" DisplayMemberPath="RunDesc" SelectedItem="{Binding RunsSelected}" IsEnabled="{Binding IsEnabledRun}" Style="{StaticResource SmallComboBox}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand Command="{Binding Path=LoadCustomersCommand}" PassEventArgsToCommand="False" CommandParameter="{Binding Path=DataContext,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ComboBox}}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>
</Grid>
</DataTemplate>
</telerik:RadGridView.RowDetailsTemplate>
</telerik:RadGridView>
Hello
I need to replace the insert input key in the grid to execute my command.
How can I do this?
Best regards
Ehud
<
telerik:RadGridView
x:Name
=
"RadGrid"
ItemsSource
=
"{Binding Contents}"
AutoGenerateColumns
=
"False"
telerik:StyleManager.Theme
=
"Office_Blue"
RowIndicatorVisibility
=
"Collapsed"
Width
=
"200"
Height
=
"300"
ShowColumnFooters
=
"true"
ShowGroupPanel
=
"False"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding Number1}"
Width
=
" 1*"
TextAlignment
=
"Right"
FooterTextAlignment
=
"Right"
>
<
telerik:GridViewColumn.Header
>
<
TextBlock
Text
=
"Numbers"
/>
</
telerik:GridViewColumn.Header
>
<
telerik:GridViewDataColumn.AggregateFunctions
>
<
telerik:AverageFunction
SourceField
=
"Number1"
/>
<
telerik:SumFunction
SourceField
=
"Number1"
/>
</
telerik:GridViewDataColumn.AggregateFunctions
>
</
telerik:GridViewDataColumn
>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>
Hello
I added sort description in code and the grid loaded sorted.
The problem is when the user added new item or deleted item,
The sort descriptor not refreshes.
How can I solve this?
Best regards
Ehud
<
telerik:RadGridView
AutoGenerateColumns
=
"False"
Margin
=
"10"
x:Name
=
"GridViewDealers"
Width
=
"Auto"
IsReadOnly
=
"True"
ShowGroupPanel
=
"False"
telerik:StyleManager.Theme
=
"Summer"
KeyDown
=
"GridViewDealers_KeyDown"
MouseDoubleClick
=
"GridViewDealers_MouseDoubleClick"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
UniqueName
=
"CompanyName"
Header
=
"Dealership Name"
DataMemberBinding
=
"{Binding CompanyName}"
></
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
UniqueName
=
"AddrLine1"
Header
=
"Address Line 1"
DataMemberBinding
=
"{Binding AddrLine1}"
></
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
UniqueName
=
"City"
Header
=
"City"
DataMemberBinding
=
"{Binding City}"
></
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
UniqueName
=
"StateCode"
Header
=
"State"
DataMemberBinding
=
"{Binding StateCode}"
></
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
UniqueName
=
"PostalCode"
Header
=
"Postal Code"
DataMemberBinding
=
"{Binding PostalCode}"
></
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
UniqueName
=
"PhoneNumber"
Header
=
"Phone Number"
DataMemberBinding
=
"{Binding PhoneNumber}"
></
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
UniqueName
=
"Email"
Header
=
"Email"
DataMemberBinding
=
"{Binding email}"
></
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
UniqueName
=
"CurrentCustomer"
Header
=
"Is Current Customer"
DataMemberBinding
=
"{Binding CurrentCustomer}"
></
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
UniqueName
=
"Latitude"
Header
=
"Latitude"
DataMemberBinding
=
"{Binding Latitude}"
></
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
UniqueName
=
"Longitude"
Header
=
"Longitude"
DataMemberBinding
=
"{Binding Longitude}"
></
telerik:GridViewDataColumn
>
<
telerik:GridViewColumn
>
<
telerik:GridViewColumn.CellTemplate
>
<
DataTemplate
>
<
telerik:RadButton
Content
=
"Print Mailing"
Command
=
"Print"
CommandParameter
=
"{Binding}"
/>
</
DataTemplate
>
</
telerik:GridViewColumn.CellTemplate
>
</
telerik:GridViewColumn
>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>
<
telerik:RadGridView
AutoGenerateColumns
=
"False"
ShowGroupPanel
=
"False"
Margin
=
"15"
x:Name
=
"ActionsGridView"
ItemsSource
=
"{Binding ActionsTaken}"
ColumnWidth
=
"Auto"
SelectionMode
=
"Extended"
CanUserDeleteRows
=
"{Binding DataContext.CanEditActions, ElementName=ResolutionsControl}"
CanUserInsertRows
=
"{Binding DataContext.CanEditActions, ElementName=ResolutionsControl}"
ShowInsertRow
=
"{Binding DataContext.CanEditActions, ElementName=ResolutionsControl}"
SelectedItem
=
"{Binding DataContext.SelectedAction, ElementName=ResolutionsControl, Mode=TwoWay}"
IsSynchronizedWithCurrentItem
=
"True"
ValidatesOnDataErrors
=
"InViewMode"
AddingNewDataItem
=
"RadGridView_AddingNewDataItem"
EnableColumnVirtualization
=
"False"
EnableRowVirtualization
=
"False"
>
<
telerik:RadGridView.FilterDescriptors
>
<
radData:FilterDescriptor
Member
=
"IsDeleted"
Value
=
"false"
Operator
=
"IsEqualTo"
/>
</
telerik:RadGridView.FilterDescriptors
>
<
i:Interaction.Triggers
>
<
i:EventTrigger
EventName
=
"Deleting"
>
<
cmd:EventToCommand
PassEventArgsToCommand
=
"True"
Command
=
"{Binding DataContext.DeletingAction, ElementName=ResolutionsControl}"
/>
</
i:EventTrigger
>
</
i:Interaction.Triggers
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewColumn
CellTemplate
=
"{StaticResource DeleteCellTemplate}"
/>
<
telerik:GridViewComboBoxColumn
Header
=
"Action"
UniqueName
=
"Action"
DataMemberBinding
=
"{Binding ActionID, Mode=TwoWay, ValidatesOnDataErrors=True}"
SelectedValueMemberPath
=
"ActionID"
DisplayMemberPath
=
"Name"
ItemsSource
=
"{Binding DataContext.Actions, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl,AncestorLevel=2}}"
IsComboBoxEditable
=
"True"
>
</
telerik:GridViewComboBoxColumn
>
<
telerik:GridViewDataColumn
Header
=
"Date of Action"
UniqueName
=
"ActionDate"
DataMemberBinding
=
"{Binding DateActionTaken, StringFormat={}{0:d}, ValidatesOnDataErrors=True,UpdateSourceTrigger=PropertyChanged}"
>
<
telerik:GridViewDataColumn.CellTemplate
>
<
DataTemplate
>
<
TextBlock
Text
=
"{Binding DateActionTaken, StringFormat={}{0:d}, ValidatesOnDataErrors=True}"
/>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellTemplate
>
<
telerik:GridViewDataColumn.CellEditTemplate
>
<
DataTemplate
>
<
telerik:RadDatePicker
SelectedValue
=
"{Binding DateActionTaken, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
SelectableDateEnd
=
"{Binding Source={x:Static System:DateTime.Now}}"
SelectableDateStart
=
"{Binding DataContext.Complaint.DateReceived, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl,AncestorLevel=2}}"
/>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellEditTemplate
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
Header
=
"Action By"
DataMemberBinding
=
"{Binding ActionByUserID}"
MinWidth
=
"120"
>
<
telerik:GridViewDataColumn.CellTemplate
>
<
DataTemplate
>
<
TextBlock
Text
=
"{Binding ActionBy.FullName}"
/>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellTemplate
>
<
telerik:GridViewDataColumn.CellEditTemplate
>
<
DataTemplate
>
<
StackPanel
VerticalAlignment
=
"Stretch"
Orientation
=
"Horizontal"
>
<
TextBlock
Margin
=
"3,0"
MinWidth
=
"104"
Text
=
"{Binding ActionBy.FullName, ValidatesOnDataErrors=True}"
/>
<
telerik:RadButton
Command
=
"{Binding DataContext.ShowUsersPopup, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl,AncestorLevel=2}}"
>
<
Image
Source
=
"/Complaints.Common;component/Images/magnifier.png"
/>
</
telerik:RadButton
>
</
StackPanel
>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellEditTemplate
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding Comments}"
Header
=
"Comments"
UniqueName
=
"ActionComments"
TextWrapping
=
"Wrap"
Width
=
"300"
CellEditTemplate
=
"{StaticResource CommentEditorTemplate}"
>
<
telerik:GridViewDataColumn.CellTemplate
>
<
DataTemplate
>
<
TextBlock
Width
=
"300"
Text
=
"{Binding Comments}"
TextWrapping
=
"Wrap"
/>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellTemplate
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding UserCreated}"
Header
=
"Recorded by"
IsReadOnly
=
"True"
/>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding DateCreated}"
Header
=
"Date/Time Recorded"
IsReadOnly
=
"True"
/>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>