2009-12-23 3 views
3

GridView의 몇 가지 열에 걸쳐있는 추가 머리글 행을 사용하여 WPF GridView의 일부 열을 "그룹화"하고 싶습니다. "값 2"와 "값 3"헤더를했을 때 그래서 "값 1"단지 하나의 헤더 것이다WPF GridView에 ColumnSpans를 사용하여 여러 헤더를 만드는 방법은 무엇입니까?

<asp:Repeater ID="myRepeater"> 
    <HeaderTemplate> 
     <table> 
     <tr> 
      <td></td> 
      <td colspan="2">Group 1</td> 
      <td colspan="2">Group 2</td> 
      <td></td> 
     </tr> 
     <tr> 
      <td>Value 1 Header</td> 
      <td>Value 2 Header</td> 
      <td>Value 3 Header</td> 
      <td>Value 4 Header</td> 
      <td>Value 5 Header</td> 
      <td>Value 6 Header</td> 
     </tr> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <tr> 
      <td>Value 1</td> 
      <td>Value 2</td> 
      <td>Value 3</td> 
      <td>Value 4</td> 
      <td>Value 5</td> 
      <td>Value 6</td> 
     </tr> 
    </ItemTemplate> 
    <FooterTemplate> 
     </table> 
    </FooterTemplate> 
</asp:Repeater> 

:

이의 모습 리피터와 ASP.Net에서

그 위에 그룹화 헤더가 있습니다.

WPF에서이 유형의 작업을 수행하는 방법에 대한 의견이 있으십니까? 감사.

답변

3

나는 여기에, WPF에 데이터 그리드를 사용하여이 수행 한 샘플입니다 :

<toolkit:DataGrid x:Name="dgValue" AutoGenerateColumns="False"> 
     <toolkit:DataGrid.Columns> 
      <toolkit:DataGridTemplateColumn> 
       <toolkit:DataGridTemplateColumn.Header> 
        <Grid Width="150"> 
         <Grid.RowDefinitions> 
          <RowDefinition/> 
          <RowDefinition/> 
         </Grid.RowDefinitions> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition/> 
          <ColumnDefinition/> 
         </Grid.ColumnDefinitions> 
         <TextBlock Grid.ColumnSpan="2" HorizontalAlignment="Center" Text="Item"/> 
         <TextBlock Grid.Row="1" Text="SubItem1"/> 
         <TextBlock Grid.Row="1" Grid.Column="1" Text="SubItem2"/> 
        </Grid> 
       </toolkit:DataGridTemplateColumn.Header> 
       <toolkit:DataGridTemplateColumn.CellTemplate> 
        <DataTemplate> 
         <Grid Width="150"> 
          <Grid.ColumnDefinitions> 
           <ColumnDefinition/> 
           <ColumnDefinition/> 
          </Grid.ColumnDefinitions> 
          <TextBlock Text="{Binding SubItem1}" /> 
          <TextBlock Grid.Column="1" Text="{Binding SubItem2}" /> 
         </Grid> 
        </DataTemplate> 
       </toolkit:DataGridTemplateColumn.CellTemplate> 
      </toolkit:DataGridTemplateColumn> 
     </toolkit:DataGrid.Columns> 
    </toolkit:DataGrid> 
+0

좋아 보인다,하지만 당신은 컬럼의 폭을 정의하는 것 같다? ASP.net 에서처럼 모든 열 너비를 동적으로 만들 수 있기를 바랬습니다. 폭을 벗어나면 정확하게 정렬되지 않은 것처럼 보입니다. 아니면 내가 잘못 읽은거야? – ChrisHDog

+0

네, 너비를 설정해야하는 이유 – viky

+1

비슷한 대답이 있습니다 [MSDN의 "수퍼 헤더"] (http://social.msdn.microsoft.com/Forums/en/wpf/thread/1e414159- 70f6-4be3-9be5-56e4f3278366). –

관련 문제