Q070. XamDataGrid で列を非表示にするには?
A. 対象となる Field の FieldSettings.CellMaxWidth を 0 に設定します。
集計行に合計値を出したいが、フィールドは見せたくないという特殊なニーズがありました。
早速 Field の幅を 0 にして試したところ、セルは非表示になりません。数ピクセル表示しちゃいます。
<igDP:XamDataGrid Grid.Column="1" Grid.Row="2" BindToSampleData="True" > <igDP:XamDataGrid.FieldLayouts> <igDP:FieldLayout> <igDP:FieldLayout.Fields> <igDP:Field Name="name" /> <igDP:Field Name="department" Widht="0px" > <igDP:Field Name="salary" /> <igDP:Field Name="email" /> </igDP:FieldLayout.Fields> </igDP:FieldLayout> </igDP:XamDataGrid.FieldLayouts> <igDP:XamDataGrid.FieldLayoutSettings > <igDP:FieldLayoutSettings AutoGenerateFields="False" /> </igDP:XamDataGrid.FieldLayoutSettings> </igDP:XamDataGrid>
二列目に注目・・・古葉監督がベンチの端から顔覗かせてるように、微妙にはみ出しちゃってます。
Visibility = "Hidden" を加えてもダメ。なんでやねん(´・ω・`)
調べたところ、CellMaxWidth を 0 でいけることが判りました。
<igDP:XamDataGrid Grid.Column="1" Grid.Row="2" BindToSampleData="True" > <igDP:XamDataGrid.FieldLayouts> <igDP:FieldLayout> <igDP:FieldLayout.Fields> <igDP:Field Name="name" /> <igDP:Field Name="department" > <igDP:Field.Settings> <igDP:FieldSettings CellMaxWidth="0" /> </igDP:Field.Settings> </igDP:Field> <igDP:Field Name="salary" /> <igDP:Field Name="email" /> </igDP:FieldLayout.Fields> </igDP:FieldLayout> </igDP:XamDataGrid.FieldLayouts> <igDP:XamDataGrid.FieldLayoutSettings > <igDP:FieldLayoutSettings AutoGenerateFields="False" /> </igDP:XamDataGrid.FieldLayoutSettings> </igDP:XamDataGrid>