2010-05-06 2 views
0

У меня есть datagrid, в котором я сгруппировал строки в соответствии с автором.изменить заголовок для каждой группы в datagrid wpf

Я связал datagrid с коллекцией объектов класса Author. , где класс Author имеет три свойства как книгу, публикацию и количество копий, которые соответствуют столбцам в группе в datagrid.

Моя проблема заключается в том, что я хочу отобразить сумму «Количество копий» для этой группы для каждого автора. То, что я не получаю, - это как вычислить сумму, так как она предназначена для группы, а не для каждого объекта или полного файла данных.

Можно ли это сделать? Спасибо заранее.

ответ

0

Странно, что никто не ответил на это, и, вероятно, слишком поздно для @Archie, или, скорее всего, он давно нашел ответ. Но здесь все равно:

<GroupStyle.ContainerStyle> 
    <Style TargetType="{x:Type GroupItem}"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type GroupItem}"> 
        <Expander Loaded="GroupHeaderExpander_Loaded"> 
         <Expander.Header> 
          <StackPanel Orientation="Horizontal"> 
           <TextBlock Text="Author: "/> 
           <TextBlock Text="{Binding Path=Name}"/> 
           <TextBlock Text=" "/> 
           <TextBlock Text="{Binding Path=ItemCount}" 
              FontStyle="Italic"/> 
           <TextBlock Text=" Books" FontStyle="Italic"/> 
          </StackPanel> 
         </Expander.Header> 
         <ItemsPresenter> 

         </ItemsPresenter> 
        </Expander> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</GroupStyle.ContainerStyle> 

ItemCount предоставит вам количество предметов в каждой группе.

HTH

+0

Я не думаю, что это был его вопрос. 'ItemCount' отобразит количество книг каждого автора; то, что он хочет, - это общее количество проданных копий, т. е. сумма «проданной копии» для всех книг в каждой группе. Сегодня я опубликовал аналогичный вопрос: http://stackoverflow.com/questions/13646477/accessing-items-for-wpf-datagrid-group-header – chrisd