Esempio n. 1
0
        internal static GroupConfiguration GetGroupConfiguration(DataGridContext dataGridContext, ObservableCollection <GroupDescription> groupDescriptions, GroupConfigurationSelector groupConfigSelector, int groupLevel, CollectionViewGroup collectionViewGroup)
        {
            if (dataGridContext == null)
            {
                throw new ArgumentNullException("dataGridContext");
            }

            if (groupDescriptions == null)
            {
                throw new ArgumentNullException("groupDescriptions");
            }

            if (groupLevel >= groupDescriptions.Count)
            {
                throw new ArgumentException("The specified group level is greater than the number of GroupDescriptions in the DataGridContext.", "groupLevel");
            }

            GroupDescription groupDescription = groupDescriptions[groupLevel];

            GroupConfiguration       retval = null;
            DataGridGroupDescription dataGridGroupDescription = groupDescription as DataGridGroupDescription;

            if ((dataGridGroupDescription != null) && (dataGridGroupDescription.GroupConfiguration != null))
            {
                retval = dataGridGroupDescription.GroupConfiguration;
            }
            else if (groupConfigSelector != null)
            {
                retval = groupConfigSelector.SelectGroupConfiguration(groupLevel, collectionViewGroup, groupDescription);
            }

            if (retval == null)
            {
                retval = dataGridContext.DefaultGroupConfiguration;
            }

            if (retval == null)
            {
                retval = GroupConfiguration.DefaultGroupConfiguration;
            }

            return(retval);
        }
    internal static GroupConfiguration GetGroupConfiguration( DataGridContext dataGridContext, ObservableCollection<GroupDescription> groupDescriptions, GroupConfigurationSelector groupConfigSelector, int groupLevel, CollectionViewGroup collectionViewGroup )
    {
      if( dataGridContext == null )
        throw new ArgumentNullException( "dataGridContext" );

      if( groupDescriptions == null )
        throw new ArgumentNullException( "groupDescriptions" );

      if( groupLevel >= groupDescriptions.Count )
        throw new ArgumentException( "The specified group level is greater than the number of GroupDescriptions in the DataGridContext.", "groupLevel" );

      GroupDescription groupDescription = groupDescriptions[ groupLevel ];

      GroupConfiguration retval = null;
      DataGridGroupDescription dataGridGroupDescription = groupDescription as DataGridGroupDescription;

      if( ( dataGridGroupDescription != null ) && ( dataGridGroupDescription.GroupConfiguration != null ) )
      {
        retval = dataGridGroupDescription.GroupConfiguration;
      }
      else if( groupConfigSelector != null )
      {
        retval = groupConfigSelector.SelectGroupConfiguration( groupLevel, collectionViewGroup, groupDescription );
      }

      if( retval == null )
      {
        retval = dataGridContext.DefaultGroupConfiguration;
      }

      if( retval == null )
      {
        retval = GroupConfiguration.DefaultGroupConfiguration;
      }

      return retval;
    }