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

[Solved] Problem displaying DataTemplate in GridView

1 Answer 113 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.
Sujay Mahajan
Top achievements
Rank 1
Sujay Mahajan asked on 21 Nov 2010, 01:15 PM
Hi,

I am using a grid to display candidate score, I have 3 columns in my grid, 2nd column is a dropdown on selection of the dropdown value I want to show the datatemplate value. I have two values in datatemplate 1. checkbox 2. textblock. As per the selection in dropdown of 2nd column I want to visible checkbox or a textbox. But when I select the value in dropdown 2nd time it is not displaying the value.
Following are my xaml code and a code behind:

 

 

 

<UserControl.Resources>

 

 

 

 

 

<

 

 

DataTemplate x:Key="tempNotification">

 

 

 

 

 

 

 

 

<Canvas Width="90">

 

 

 

 

 

 

 

 

<CheckBox x:Name="chkSend" Canvas.Top="-10" Canvas.Left="4" Visibility="Collapsed" Content="Send" Checked="chkSend_Checked" Unchecked="chkSend_Unchecked"></CheckBox>

 

 

 

 

 

 

 

 

<TextBlock x:Name="txtSend" Canvas.Top="-10" Canvas.Left="4" Visibility="Collapsed" Text="Not needed"></TextBlock>

 

 

 

 

 

 

 

 

</Canvas>

 

 

 

 

 

 

 

 

</DataTemplate>

 

 

 

 

<

 

 

UserControl.Resources>

 


<

 

 

grid:RadGridView x:Name="RadGridRankingSecond" Canvas.Left="69" Canvas.Top="72" MaxWidth="430"      
                  MaxHeight
="250" IsScrolling="False" CanUserReorderColumns="False"

 

 

 

                  CanUserResizeColumns="False" FrozenColumnCount="4"

 

 

 

                  ScrollViewer.HorizontalScrollBarVisibility="Visible"

 

 

 

                  ScrollViewer.VerticalScrollBarVisibility="Disabled" Visibility="Visible"

 

 

 

                  RowIndicatorVisibility="Collapsed" IsFilteringAllowed="False"

 

 

 

                  Background="White" AutoGenerateColumns="False" ShowGroupPanel="False" 
                  CanUserSortColumns
="False" VerticalAlignment="Top" HorizontalAlignment="Left"  
                  MouseWheel
="RadGridRankingSecond_MouseWheel"

 

 

 

                 RowLoaded="RadGridRankingSecond_RowLoaded" DataLoaded="RadGridRankingSecond_DataLoaded" >

 

 

 

 

<grid:RadGridView.ItemTemplate>

 

 

 

 

<DataTemplate>

 

 

 

 

<VirtualizingStackPanel></VirtualizingStackPanel>

 

 

 

 

</DataTemplate>

 

 

 

 

</grid:RadGridView.ItemTemplate>

 

 

 

 

<grid:RadGridView.Columns>

 

 

 

 

<!-- <grid:GridViewDataColumn Width="60" UniqueName="Ranking" Header="Ranking" IsReadOnly="True" DataMemberBinding="{Binding ranking}" />-->

 

 

 

 

<grid:GridViewDataColumn Width="120" UniqueName="Candidant" Header="Candidate" IsReadOnly="True" DataMemberBinding="{Binding applicantName}" />

 

 

 

 

<grid:GridViewDataColumn Width="90" UniqueName="Decision" Header="Decision" CellTemplate="{StaticResource tempDecision}"/>

 

 

 

 

<grid:GridViewDataColumn Width="90" UniqueName="Notification" CellTemplate="{StaticResource tempNotification}" TextAlignment="Left" Header="Notification" />

 

 

 

 

</grid:RadGridView.Columns>

 

 

 

 

</grid:RadGridView>

Code behind code:

 

private

 

 

void cmbDecision_SelectionChanged(object sender, Telerik.Windows.Controls.SelectionChangedEventArgs e)

 

{

 

 

if ((((Telerik.Windows.Controls.Selector)(((Telerik.Windows.Controls.RadComboBox)
    (((Telerik.Windows.Controls.
Selector)(sender)))))).SelectedValue) != null)

 

{

 

 

    if ((int)((Telerik.Windows.Controls.Selector)(((Telerik.Windows.Controls.RadComboBox)
        (((Telerik.Windows.Controls.
Selector)(sender)))))).SelectedValue >0)

 

    {

        objDecisionList.Where( c => c.submission_Id == ( (EMS.Checklist.UI.ServiceClient.

 

Decision)(

 

        (Telerik.Windows.Controls.

 

Selector)(sender)).ParentOfType<GridViewRow>
        ().DataContext).submission_Id).ToList().ForEach(

 

        x => x.statusId = (

 

int)(((Telerik.Windows.Controls.Selector)
        (((Telerik.Windows.Controls.
RadComboBox)(((Telerik.Windows.Controls.Selector)
        (sender)))))).SelectedValue));

 

 

 

        
        if
(((EMS.Checklist.UI.ServiceClient.Status)(((object[])(e.AddedItems))[0])).statusName == 
        "Hire"
)

 

        {

 

 

            foreach (var cell in (((Telerik.Windows.Controls.Selector)(sender)).ParentOfType<GridViewRow>
                    ()).ChildrenOfType<
GridViewCell>())

 

            {

 

 

                if (cell.Column.UniqueName == "Notification")

 

                {

                    ((cell.ChildrenOfType<

 

Canvas>().FirstOrDefault()).ChildrenOfType<CheckBox>
                    ()).FirstOrDefault().Visibility =
Visibility.Collapsed;

 

                    ((cell.ChildrenOfType<

 

Canvas>().FirstOrDefault()).ChildrenOfType<TextBlock>
                    ()).FirstOrDefault().Visibility =
Visibility.Visible;

 

                }

            }

         }

 

 

        else if (((EMS.Checklist.UI.ServiceClient.Status)(((object[])(e.AddedItems))[0])).statusName == 
                "Decline"
)

 

        {

 

 

            foreach (var cell in (((Telerik.Windows.Controls.Selector)(sender)).ParentOfType<GridViewRow>
                ()).ChildrenOfType<
GridViewCell>())

 

            {

 

 

                if (cell.Column.UniqueName == "Notification")

 

                {

                    ((cell.ChildrenOfType<

 

Canvas>().FirstOrDefault()).ChildrenOfType<TextBlock>
                    ()).FirstOrDefault().Visibility =
Visibility.Collapsed;

 

                    ((cell.ChildrenOfType<

 

Canvas>().FirstOrDefault()).ChildrenOfType<CheckBox>
                    ()).FirstOrDefault().Visibility =
Visibility.Visible;

 

                }

            }

         }

}

}


}

Please let me know if I am doing anything wrong here....
Thanks in advance for your help.

Sujay

1 Answer, 1 is accepted

Sort by
0
Sujay Mahajan
Top achievements
Rank 1
answered on 29 Nov 2010, 10:36 AM
Hi,

Please anyone help me in the aboe issue

Thank you,

Sujay
Tags
GridView
Asked by
Sujay Mahajan
Top achievements
Rank 1
Answers by
Sujay Mahajan
Top achievements
Rank 1
Share this question
or