我有一个XamDataGrid,正在点击按钮时填充。
<Expander Header="{Binding Path=Tag, ElementName=EditGridExpanderBar}" Tag="Edit Grid" Visibility="Hidden" Height="Auto" Name="EditGridExpanderBar" FontWeight="Bold" Background="#6688A4" Margin="0,0,5,3" Padding="3,0,0,0" Foreground="White">
<igDP:XamDataGrid Name="EditGrid">
</igDP:XamDataGrid>
</Expander>
以下是填充XamDataGrid的代码。
private void EditAllocations_Click (object sender, RoutedEventArgs e)
{
ObservableCollection<LobAllocation> ds = _controller.PlanitariumModel.Entity.LobAllocations;
if (editGridClickCheck((Button)sender, ds.Count))
{
EditGrid.DataSource = ds;
}
}
此处,实体具有一些MetaData字段,这些字段与Grid中的实际列一起显示。我想手动隐藏这些字段。
有关如何执行此操作的任何指示?
答案 0 :(得分:1)
您无法隐藏特定字段。你可以做的是关闭自动列生成,它基于datagrid绑定到的类的公共属性。 此外,您需要指定应在数据网格中显示哪些属性。
试试这样:
<igDP:XamDataGrid Name="EditGrid">
<igDP:XamDataGrid.FieldLayouts>
<igDP:FieldLayout>
<igDP:Field Name="EntityProperty-1" Label="Property1" />
<igDP:Field Name="EntityProperty-2" Label="Property2" />
</igDP:FieldLayout>
</igDP:XamDataGrid.FieldLayouts>
<igDP:XamDataGrid.FieldLayoutSettings>
<igDP:FieldLayoutSettings AutoGenerateFields="False"/>
</igDP:XamDataGrid.FieldLayoutSettings>
</igDP:XamDataGrid>
在<igDP:FieldLayout>
块中,您需要指定要呈现的Datagrid的列。
使用以下块,您可以禁用列的自动生成。
<igDP:XamDataGrid.FieldLayoutSettings>
<igDP:FieldLayoutSettings AutoGenerateFields="False"/>
</igDP:XamDataGrid.FieldLayoutSettings>