2017-02-09 177 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