XamDataGrid -如何从后面的代码访问字段

本文关键字:代码 访问 字段 XamDataGrid | 更新日期: 2023-09-27 18:04:34

我有一个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;
    }
}

在这里,实体有一些元数据字段,这些字段与网格中的实际列一起显示。我想手动隐藏这些字段。

关于如何做到这一点,有什么建议吗?

XamDataGrid -如何从后面的代码访问字段

不能隐藏特定字段。你能做的是关闭自动列生成功能,该功能基于绑定到数据网格的类的公共属性。此外,您需要指定应该在数据网格中显示哪些属性。

试试:

<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>