Datagridview C#中的数据绑定

时间:2014-05-25 08:37:10

标签: c#-4.0 datagridview

我有一个名为motor的模型(类),它由另外两个模型(spec model,description model)组成。在规范或描述模型中,也有一些属性。

我想将电机列表绑定到datagridview。不幸的是,似乎datagridview无法检测规范和描述模型的属性。可能层数太多了?

1 个答案:

答案 0 :(得分:1)

您可以关闭自动生成列,并自行创建列和绑定:

<DataGrid ItemsSource="{Binding MotorCollection}" AutoGenerateColumns="False">
  <DataGrid.Columns>
    <DataGridTextColumn Binding="{Binding Name}"/>
    <DataGridTextColumn Binding="{Binding SpecModel.Name}"/>
    <DataGridTextColumn Binding="{Binding DescriptionModel.Name}"/>
  </DataGrid.Columns>
</DataGrid>

更新:

我没有意识到这是关于winforms的。在这种情况下,我不认为你可以直接绑定到嵌套属性,但是如下所示:Winforms DataGridView databind to complex type / nested property你可以在访问嵌套属性的顶层模型上创建一个属性。

否则,好像你可以像How to bind a DataGridView column to a second-level property of a data source中所建议的那样创建自己的typedescriptor,但如果你只是处理一个简单的模型,那可能会有点超出范围。