2017-02-09 173 views
-1

我有一個WPF數據網格點擊與autogenerate列=「True」按鈕後正在生成。有沒有人有想法如何啓用/生成excel像過濾器的每列datagrid?WPF datagrid自動過濾器

<DataGrid Style="{StaticResource DataGridStylePreview}" 
               Tag="{Binding Path=Id}" 
               ItemsSource="{Binding Path=ViewOfData}" 
               CanUserAddRows="False" 
               CanUserReorderColumns="False" 
               CanUserDeleteRows="False" 
               CanUserSortColumns="True" 
               CanUserResizeColumns="True" 
               CanUserResizeRows="False" 
               IsReadOnly="True" 
               HorizontalGridLinesBrush="AntiqueWhite" 
               VerticalGridLinesBrush="AntiqueWhite" 
               AutoGeneratingColumn="DataGrid_OnAutoGeneratingColumn"> 
             </DataGrid> 
+0

不要做它自動生成,然後你有很多的例子已經在如何管理您的數據網格數據,你需要什麼 – Safe

+0

@ Safe-我需要共享自動生成列爲真。根據各種條件,點擊該按鈕時會從數據庫中提取多個表格。 –

+0

自動生成格式化您的結構化結果並返回格式化數據。因此,您自己可以完成的所有控制(觸發器,模板樣式)都已由Autogenerate完成。 – Safe

回答

1

添加到您的AutoGeneratingColumn事件

 string[] forbiddens = { "These","Are", "Forbiddens" }; 
     if (forbiddens.Contains(e.Column.Header.ToString())) 
     { 
      e.Cancel = true; 
     } 

,檢查在列的標題,如「forbiddens」包含你的自動生成列的標題,它只是不創建一個列。所以,你應該改變'forbiddens'到你不想採取的柱頭。

或者,你可以做這樣的事情 answer to hide Auto Generating column.

+0

這是我的問題的答案?我沒有明白。這是如何幫助我創建數據網格列的過濾器? –

+0

在'forbiddens'數組中添加列標題,並且它們在自動生成時不顯示。 – GBursali