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

[Solved] How to set Allow Drop in a Grid Hierarchy TargetCell

1 Answer 105 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.
Manas
Top achievements
Rank 1
Manas asked on 26 May 2009, 10:17 AM

    

 

<grid:RadGridView x:Name="gridLesson" ScrollMode="RealTime" Grid.Column="0" Grid.Row="2" AutoGenerateColumns="False"

                          AddingNewDataItem="gridLesson_AddingNewDataItem" >

            <grid:RadGridView.Columns>

                <grid:GridViewDataColumn HeaderText="UnitId" DataMemberBinding="{Binding UnitId}" />

                <grid:GridViewDataColumn HeaderText="UnitName #" UniqueName="UnitName" />

                <grid:GridViewDataColumn HeaderText="Files" Width="250" DataMemberPath="UnitFiles">

                    <grid:GridViewDataColumn.CellStyle>

                        <Style TargetType="telerikGridView:GridViewCell">

                            <Setter Property="dragDrop:RadDragAndDropManager.AllowDrop" Value="True"/>

                            <Setter Property="Template">

                                <Setter.Value>

                                    <ControlTemplate TargetType="telerikGridView:GridViewCell">

                                        <StackPanel>

                                            <ListBox ItemsSource="{Binding UnitFiles}">

                                               <ListBox.ItemTemplate>

                                                    <DataTemplate>

                                                        <core:RadDockPanel HorizontalAlignment="Stretch">

                                                            <Image Source="{Binding IconPath, Mode=TwoWay}" Width="10" Height="10" />

                                                            <HyperlinkButton Content="{Binding docname, Mode=TwoWay}" TargetName="_blank"

                                                                NavigateUri="{Binding docurl}" />

                                                         </core:RadDockPanel>

                                                    </DataTemplate>

                                                </ListBox.ItemTemplate>

                                            </ListBox>

                                        </StackPanel>

                                    </ControlTemplate>

                                </Setter.Value>

                            </Setter>

                        </Style>

                    </grid:GridViewDataColumn.CellStyle>

                </grid:GridViewDataColumn>

            </grid:RadGridView.Columns>

            <grid:RadGridView.HierarchyChildTemplate>

                <DataTemplate>

                    <StackPanel DataContext="{x:Null}">

                        <grid:RadGridView AutoGenerateColumns="False" Loaded="RadGridView_Loaded" ItemsSource="{Binding Lessions}"

                                          RowStyle="{StaticResource CustomRowStyle}" UseAlternateRowStyle="False" x:Name="grdLession" >

                            <grid:RadGridView.Columns>

                                <grid:GridViewDataColumn HeaderText="Date" DataMemberBinding="{Binding LessonDate}" />

                                <grid:GridViewDataColumn HeaderText="Lesson #" DataMemberBinding="{Binding Lesson}" />

                                <grid:GridViewDataColumn HeaderText="Aim" DataMemberBinding="{Binding AIM}" />

                                <grid:GridViewDataColumn HeaderText="Additional Information" DataMemberBinding="{Binding AdditionalInformation}" />

                                <grid:GridViewDataColumn HeaderText="Files" DataMemberPath="Files" Width="200">

                                    <grid:GridViewDataColumn.CellStyle>

                                        <Style TargetType="telerikGridView:GridViewCell">

              <Setter Property="dragDrop:RadDragAndDropManager.AllowDrop" Value="True"/>

                                            <Setter Property="Template">

                                                <Setter.Value>

                                                    <ControlTemplate TargetType="telerikGridView:GridViewCell">

                                                        <StackPanel>

                                                            <ListBox ItemsSource="{Binding Files}">

                                                                <ListBox.ItemTemplate>

                                                                    <DataTemplate>

                                                                        <core:RadDockPanel HorizontalAlignment="Stretch">

                                                                            <Image Source="{Binding IconPath, Mode=TwoWay}" Width="10" Height="10" />

                                                                            <HyperlinkButton Content="{Binding docname, Mode=TwoWay}" TargetName="_blank"

                                                                               NavigateUri="{Binding docurl}" />

                                                                        </core:RadDockPanel>

                                                                    </DataTemplate>

                                                                </ListBox.ItemTemplate>

                                                            </ListBox>

                                                        </StackPanel>

                                                    </ControlTemplate>

                                                </Setter.Value>

                                            </Setter>

                                        </Style>

                                    </grid:GridViewDataColumn.CellStyle>

                                </grid:GridViewDataColumn>

                            </grid:RadGridView.Columns>

                        </grid:RadGridView>

                    </StackPanel>

                </DataTemplate>

            </grid:RadGridView.HierarchyChildTemplate>

        </grid:RadGridView>

 

I have hierarchy grid as above describe; now I want to set AllowDrop value on ControlTemplate Column. It is working fine for Parent Grid ControlTemplate but it is giving error for HierarchyChildTemplate.

 

Can anybody provide solution quickly?

 

Thanks,

Manas

1 Answer, 1 is accepted

Sort by
0
Milan
Telerik team
answered on 01 Jun 2009, 12:22 PM
Hi Manas,

You could try setting the AllowDrag property in code. One possible way to do that is to subscribe to the Loaded event of StackPanel and then in code enable AllowDrag.

<StackPanel Loaded="StackPanel_Loaded">  
    <ListBox ItemsSource="{Binding UnitFiles}">  
    <ListBox.ItemTemplate> 
        <DataTemplate> 
            <core:RadDockPanel HorizontalAlignment="Stretch">  
                <Image Source="{Binding IconPath, Mode=TwoWay}" Width="10" Height="10" /> 
                <HyperlinkButton Content="{Binding docname, Mode=TwoWay}" TargetName="_blank" NavigateUri="{Binding docurl}" />   
            </core:RadDockPanel> 
        </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 
</StackPanel> 


private void StackPanel_Loaded(object sender, RoutedEventArgs e)  
{  
    GridViewCell cell = (GridViewCell)VisualTreeHelper.GetParent((DependencyObject)sender);  
 
    if(cell != null)  
    RadDragAndDropManager.SetAllowDrag(cell, true);  

Hope this helps.
Sorry for the delay and thank you for your patience.

Greetings,
Milan
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
Tags
GridView
Asked by
Manas
Top achievements
Rank 1
Answers by
Milan
Telerik team
Share this question
or