2017-02-09 10 views
-1

私は、自動生成列= "True"のボタンをクリックした後に生成されているWPFデータグリッドを持っています。誰もが有効にする方法についてのアイデアを持っている/ DataGridの各列のフィルタのようなExcelの構築?WPF datagrid auto filter

<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- @何が必要か – Safe

+0

を行うには、あなたのデータグリッドのデータを管理する方法上の共有多くの例を持っているようにあなたが何かを行うことができます列をtrueに自動生成します。さまざまな条件に基づいてそのボタンのクリックでデータベースからフェッチされる複数のテーブルがあります。 –

+0

あなたのために構造化された結果を自動生成し、フォーマットされたデータを返します。だから、自分でできるコントロール(トリガー、テンプレートスタイル)は、すでに自動生成によって行われています。 – 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