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

Drop into the Child Grid of RadGridVIew

1 Answer 37 Views
GridView
This is a migrated thread and some comments may be shown as answers.
Connors
Top achievements
Rank 1
Connors asked on 22 Oct 2013, 12:07 AM
Hi there,

We have a xaml like this:

<kern:BaseGridView
                                x:Name="GrdCrewList"
                                CanUserFreezeColumns="False"
                                AutoExpandGroups="False"
                                SelectionMode="Single"
                                AutoGenerateColumns="False"
                                Background="Transparent"
                                HorizontalAlignment="Stretch"
                                VerticalAlignment="Stretch"
                                SelectionUnit="FullRow"
                                CanUserDeleteRows="False"
                                CanUserSortColumns="True"
                                IsFilteringAllowed="True"
                                IsReadOnly="True"
                                ShowGroupPanel="False"
                                RowIndicatorVisibility="Collapsed"
                                ItemsSource="{Binding  Crews}"
                                BorderThickness="0"
                                AllowDrop="True"
                               
                                telerik:StyleManager.Theme="Windows8">


                                <kern:BaseGridView.ChildTableDefinitions>
                                    <telerik:GridViewTableDefinition />
                                </kern:BaseGridView.ChildTableDefinitions>

                                <kern:BaseGridView.Columns>

                                    <kern:BaseGridViewDataColumn
                                        TextAlignment="Left"
                                        Header="Crew"
                                        DataMemberBinding="{Binding CrewName}"
                                        MinWidth="80"
                                        Width="*" />

                                    <kern:BaseGridViewDataColumn
                                        TextAlignment="Left"
                                        Header="Responsibility"
                                        DataMemberBinding="{Binding CraftId, Converter={StaticResource ResponsibilityConverter}, Mode=OneWay}"
                                        MinWidth="80"
                                        Width="*" />

                                    <kern:BaseGridViewDataColumn
                                        TextAlignment="Left"
                                        Header="Team"
                                        DataMemberBinding="{Binding ParentCrewId, Converter={StaticResource TeamConverter}, Mode=OneWay}"
                                        MinWidth="120"
                                        Width="*"
                                        TextWrapping="Wrap" />

                                    <kern:BaseGridViewDataColumn
                                        TextAlignment="Left"
                                        Header="Members"
                                        DataMemberBinding="{Binding CrewUsers, Converter={StaticResource MembersConverter}, Mode=OneWay}"
                                        MinWidth="120"
                                        Width="*"
                                        TextWrapping="Wrap" />

                                    <kern:BaseGridViewDataColumn
                                        TextAlignment="Left"
                                        Header="Plant"
                                        DataMemberBinding="{Binding CrewPlants, Converter={StaticResource PlantsConverter}, Mode=OneWay}"
                                        MinWidth="120"
                                        Width="*"
                                        TextWrapping="Wrap" />
                                    
                                </kern:BaseGridView.Columns>

                                <kern:BaseGridView.HierarchyChildTemplate>
                                    <DataTemplate>
                                        <kern:BaseGridView
                                            x:Name="GrdCrewDateList"
                                            ShowGroupPanel="False"
                                            ItemsSource="{Binding WorkLoads}"
                                            AutoGenerateColumns="False">

                                            <kern:BaseGridView.ChildTableDefinitions>
                                                <telerik:GridViewTableDefinition />
                                            </kern:BaseGridView.ChildTableDefinitions>

                                            <kern:BaseGridView.Columns>

                                                <kern:BaseGridViewComboBoxColumn
                                                    TextAlignment="Left"
                                                    Header="Date"
                                                    DataMemberBinding="{Binding WorkDate,StringFormat='{} {0:ddd dd MMM yyyy}'}"
                                                    MinWidth="130"
                                                    MaxWidth="200" />

                                                <kern:BaseGridViewComboBoxColumn
                                                    TextAlignment="Left"
                                                    Header="Capacity"
                                                    DataMemberBinding="{Binding Capacity}"
                                                    MinWidth="130"
                                                    MaxWidth="130" />

                                                <kern:BaseGridViewComboBoxColumn
                                                    TextAlignment="Left"
                                                    Header="Load"
                                                    DataMemberBinding="{Binding Load}"
                                                    MinWidth="130"
                                                    MaxWidth="130" />

                                                <kern:BaseGridViewComboBoxColumn
                                                    TextAlignment="Left"
                                                    Header="Availability"
                                                    DataMemberBinding="{Binding Availability}"
                                                    MinWidth="130"
                                                    MaxWidth="130" />

                                            </kern:BaseGridView.Columns>

                                            <kern:BaseGridView.HierarchyChildTemplate>

                                                <DataTemplate>

                                                    <kern:BaseGridView
                                                        x:Name="GrdCrewDateJobList"
                                                        ShowGroupPanel="False"
                                                        ItemsSource="{Binding Jobs}"
                                                        AutoGenerateColumns="False">
                                                        <kern:BaseGridView.Columns>

                                                            <kern:BaseGridViewDataColumn
                                                                x:Name="colReferenceNumber"
                                                                TextAlignment="Left"
                                                                Header="Reference"
                                                                DataMemberBinding="{Binding ReferenceNumber}"
                                                                MinWidth="80" />

                                                            <kern:BaseGridViewDataColumn
                                                                x:Name="StartTime"
                                                                TextAlignment="Left"
                                                                Header="Start"
                                                                DataMemberBinding="{Binding JobDayStartTime, StringFormat='{} {0:hh:mm}'}"
                                                                MinWidth="80">

                                                            </kern:BaseGridViewDataColumn>

                                                            <kern:BaseGridViewDataColumn
                                                                x:Name="FinisTime"
                                                                TextAlignment="Left"
                                                                Header="Finish"
                                                                DataMemberBinding="{Binding JobDayFinishTime, StringFormat='{} {0:hh:mm}'}"
                                                                MinWidth="80">

                                                            </kern:BaseGridViewDataColumn>

                                                            <kern:BaseGridViewDataColumn
                                                                x:Name="Duration"
                                                                TextAlignment="Left"
                                                                Header="Est Duration"
                                                                DataMemberBinding="{Binding JobDayDuration}"
                                                                MinWidth="80">

                                                            </kern:BaseGridViewDataColumn>

                                                            <kern:BaseGridViewDataColumn
                                                                x:Name="colJobDescription"
                                                                TextAlignment="Left"
                                                                Header="Description"
                                                                DataMemberBinding="{Binding JobDescription}"
                                                                MinWidth="150"
                                                                TextWrapping="Wrap">
                                                            </kern:BaseGridViewDataColumn>

                                                            <kern:BaseGridViewComboBoxColumn
                                                                x:Name="colPriorityTypeId"
                                                                TextAlignment="Left"
                                                                Header="Priority"
                                                                DataMemberBinding="{Binding JobPriority}"
                                                                MinWidth="80"
                                                                DisplayMemberPath="PriorityValue"
                                                                SelectedValueMemberPath="PriorityKey"
                                                                CustomSortMemberPath="JobPriorityDescription" />

                                                            <kern:BaseGridViewDataColumn
                                                                x:Name="colJobAddress"
                                                                TextAlignment="Left"
                                                                Header="Address"
                                                                DataMemberBinding="{Binding JobAddress}"
                                                                MinWidth="130"
                                                                TextWrapping="Wrap" />

                                                        </kern:BaseGridView.Columns>
                                                        
                                                    </kern:BaseGridView>
                                                    
                                                </DataTemplate>
                                            </kern:BaseGridView.HierarchyChildTemplate>
                                        </kern:BaseGridView>
                                    </DataTemplate>
                                </kern:BaseGridView.HierarchyChildTemplate>
                            </kern:BaseGridView>


So it is a three level grid. The drag event is handled so we have the payload ready.

The problem is I want to drop that data into the second level grid only.But it does not allow me to handle any events of the second level grid.       x:Name="GrdCrewDateList"


So how do I drop the data onto its row? I want to drop on the grid row, not just the grid.

Thanks
Tony

1 Answer, 1 is accepted

Sort by
0
Yoan
Telerik team
answered on 24 Oct 2013, 03:17 PM
Hi Connors,

You can try to add this style to the GrdCrewDateList grid:

<telerik:RadGridView.RowStyle>
              <Style TargetType="telerik:GridViewRow">
                  <Setter Property="telerik:DragDropManager.AllowDrag"
                          Value="True" />
                  <Setter Property="telerik:DragDropManager.TouchDragTrigger"
                          Value="TapAndHold"/>
              </Style>
          </telerik:RadGridView.RowStyle>
Then you will be able to subscribe to its Drop event.

I hope this helps.

Regards,
Yoan
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for SILVERLIGHT.
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
Connors
Top achievements
Rank 1
Answers by
Yoan
Telerik team
Share this question
or