Drop into the Child Grid of RadGridVIew

2 posts, 0 answers
  1. Connors
    Connors avatar
    3 posts
    Member since:
    Sep 2011

    Posted 21 Oct 2013 Link to this post

    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
  2. Yoan
    Admin
    Yoan avatar
    1070 posts

    Posted 24 Oct 2013 Link to this post

    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 >>
  3. DevCraft banner
Back to Top