Q070. XamDataGrid で列を非表示にするには?

A. 対象となる FieldFieldSettings.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>


綺麗に消えた!(`・ω・´)


WPF FAQ の目次に戻る