回答編集履歴

1

見直しキャンペーン中

2023/07/22 06:59

投稿

TN8001
TN8001

スコア9326

test CHANGED
@@ -1,69 +1,35 @@
1
1
  `DataGrid`で対応する例です。
2
2
 
3
-
4
-
5
3
  表示非表示の列が固定な場合は、xamlで列を指定してしまうのが早いです。
6
-
7
- ```xaml
4
+ ```xml
8
-
9
5
  <DataGrid
10
-
11
6
  Name="dataGrid"
12
-
13
7
  Height="500"
14
-
15
8
  AutoGenerateColumns="False">
16
-
17
9
  <DataGrid.Columns>
18
-
19
10
  <DataGridTextColumn Binding="{Binding [0]}" Header="タイトル" />
20
-
21
11
  <DataGridTextColumn Binding="{Binding [1]}" Header="価格" />
22
-
23
12
  <DataGridTextColumn Binding="{Binding [4]}" Header="画像" />
24
-
25
13
  </DataGrid.Columns>
26
-
27
14
  </DataGrid>
28
-
29
15
  ```
30
16
 
31
17
 
32
-
33
-
34
-
35
18
  表示非表示を切り替えるような場合は、コードから変更したほうが自由が利きます。
36
-
37
- ```C#
19
+ ```cs
38
-
39
20
  InitializeComponent();
40
21
 
41
-
42
-
43
22
  dataGrid.AutoGeneratedColumns += (s, e) =>
44
-
45
23
  {
46
-
47
24
  dataGrid.Columns[2].Visibility = Visibility.Hidden;
48
-
49
25
  dataGrid.Columns[3].Visibility = Visibility.Hidden;
50
-
51
26
  };
52
-
53
27
  ```
54
-
55
28
  [DataGrid.AutoGeneratingColumn イベント (System.Windows.Controls) | Microsoft Docs](https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.controls.datagrid.autogeneratingcolumn)
56
-
57
29
  こっちを使ってもよい。
58
-
59
-
60
30
 
61
31
  ---
62
32
 
63
-
64
-
65
- 「datatable 列 削除」のほうはズバリなものが出ますので省略します。
33
+ [datatable 列 削除](https://www.google.co.jp/search?q=datatable+%E5%88%97+%E5%89%8A%E9%99%A4)」のほうはズバリなものが出ますので省略します。
66
-
67
-
68
34
 
69
35
  「wpf datagrid 列 非表示」はバインディングする等凝ったものは出ますが、単純なものは意外といいのがないですね。