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

[Solved] Grouping on GridViewComboBoxColumn

1 Answer 122 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.
Michele
Top achievements
Rank 2
Michele asked on 12 Jan 2011, 11:26 AM
Hello,
I've got a GridViewComboBoxColumn and I've tried grouping on it... I got the groupheaders empty....
I've read a thread about the filtering solution that pavel pavlov posted but it talks about implementing an IFilteringControl

telerik:RadGridView.Columns>
                    <telerik:GridViewDataColumn DataMemberBinding="{Binding IDDip}" Header="ID IDDip" UniqueName="IDDip" IsReadOnly="True"></telerik:GridViewDataColumn>
                    <telerik:GridViewDataColumn DataMemberBinding="{Binding IDUtser}" Header="Utente" UniqueName="IDUtente" IsReadOnly="True"></telerik:GridViewDataColumn>
                    <telerik:GridViewDataColumn DataMemberBinding="{Binding Nominativo}" Header="Nominativo" UniqueName="Nominativo" IsReadOnly="True"></telerik:GridViewDataColumn>
                    <telerik:GridViewDataColumn DataMemberBinding="{Binding Societa}" Header="Società" UniqueName="Societa" IsReadOnly="True"></telerik:GridViewDataColumn>
                    <telerik:GridViewDataColumn DataMemberBinding="{Binding Filiale}" Header="Filiale" UniqueName="Filiale" IsReadOnly="True"></telerik:GridViewDataColumn>
                    <telerik:GridViewDataColumn DataMemberBinding="{Binding Ruolo}" Header="Ruolo" UniqueName="Ruolo" IsReadOnly="True"></telerik:GridViewDataColumn>
                    <telerik:GridViewComboBoxColumn DataMemberBinding="{Binding IDProfilo}" SelectedValueMemberPath="IDProfilo" DisplayMemberPath="Descrizione" x:Name="cbProfilo" Header="Profilo" UniqueName="Profilo">
                        <telerik:GridViewComboBoxColumn.GroupHeaderTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding Converter={StaticResource profiliConverter},ElementName=IDProfilo}"></TextBlock>
                            </DataTemplate>
                        </telerik:GridViewComboBoxColumn.GroupHeaderTemplate>
                    </telerik:GridViewComboBoxColumn>
                    <telerik:GridViewDataColumn DataMemberBinding="{Binding Funzioni}" Header="Funzioni" UniqueName="Funzioni" IsReadOnly="True"></telerik:GridViewDataColumn>
                    <telerik:GridViewComboBoxColumn DataMemberBinding="{Binding IDStato}"  SelectedValueMemberPath="IDStato" DisplayMemberPath="Descrizione" x:Name="cbStato"  Header="Stato" UniqueName="Stato" ></telerik:GridViewComboBoxColumn>
                </telerik:RadGridView.Columns>

I've adopted a different approach since I was not able to find an IGroupingControl.... I decided to use a converter

namespace xxx.Helper.Converters
{
    public class ProfiliConverter : IValueConverter
    {
        public ObservableCollection<Profilo> ListaProfili { get; set; }
 
        #region IValueConverter Members
 
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            GroupViewModel model = value as GroupViewModel;
             
            ReadOnlyObservableCollection<object> tmpObject = model.Group.Items as ReadOnlyObservableCollection<object>;
 
            if (tmpObject.Count > 0)
            {
                var utente = tmpObject[0] as Utente;
 
                if (utente != null)
                {
                    var descr = ListaProfili.Where(o1 => o1.IDProfilo == utente.IDProfilo).Select(o1 => o1.Descrizione).FirstOrDefault();
                    return descr;
                }
            }
           
            return null;
        }
 
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return null;
        }
 
        #endregion
    }
}

I'm not able to tell at the binding to use  the value of IDProfilo as value for the converter.... in this way I used I got the names in the groupheader but it seems to be problem with virtualization...any better approach?
Thanks

1 Answer, 1 is accepted

Sort by
0
Veselin Vasilev
Telerik team
answered on 14 Jan 2011, 03:06 PM
Hello Paolo,

I could not reproduce your initial problem in our online demo (you can group and everything is ok).

Please create a simple project which exhibits the issue and send it to us in a new support ticket.

Best wishes,
Veselin Vasilev
the Telerik team
Let us know about your Windows Phone 7 application built with RadControls and we will help you promote it. Learn more>>
Tags
GridView
Asked by
Michele
Top achievements
Rank 2
Answers by
Veselin Vasilev
Telerik team
Share this question
or