2013-02-21 48 views
0

我正在更新我的项目以使用DevExpress DXGrid。 注:我正在使用他MVVM光工具包。DXGrid绑定不显示单元格值

我已成功绑定到默认的wpf网格,但现在我想将其升级为使用DXgrid。 我“认为”我绑定正确,但当网格显示单元格都是空的。行号是正确的(即我有3辆汽车,我得到3行),所以它肯定是看到我的数据,但我确定我缺少某处的财产因为文本显示所有单元格都是空的

 <dxg:GridControl.Columns> 

      <dxg:GridColumn FieldName="{Binding Path=Id}" Header="ID"/> 
      <dxg:GridColumn FieldName="{Binding Path=NominationDate, StringFormat=\{0:dd/MM/yyyy\}}" Header="Nomination Date" /> 
      <dxg:GridColumn FieldName="{Binding Path=CarNumber}" Header="CarNumber"/> 
      <dxg:GridColumn FieldName="{Binding Path=CarName}" Header="Car Name" /> 
      <dxg:GridColumn FieldName="{Binding Path=Colour}" Header="Colour"/> 


     </dxg:GridControl.Columns> 

     <dxg:GridControl.View> 
      <dxg:TableView Name="tableView1" SelectedRowsSource="{Binding Selection}" MultiSelectMode="Row" NavigationStyle="Row" /> 


     </dxg:GridControl.View> 
    </dxg:GridControl> 

回答

0

尝试使用RowData或Data为您的属性添加前缀。这些是由dxgrid公开的用于绑定数据的回收的依赖对象。所以你的情况,你将不得不像下面..

<dxg:GridColumn FieldName="{Binding RowData.Path=Id}" Header="ID"/> 

or 

<dxg:GridColumn FieldName="{Binding Data.Path=Id}" Header="ID"/> 
+0

都能跟得上。这两个崩溃我的构建。未知财产 – Crudler 2013-02-21 12:46:05

+0

啊...抱歉,我可能一直在想错误的东西。只尝试没有绑定的字段名称(即FieldName =“Id”)..至少这是我记得如何使用dxgrid。 (RowData用于检索模板中的绑定数据)。您还绑定了什么样的数据结构?的ObservableCollection? – mike01010 2013-02-21 12:51:58

+0

是的,它是一个observablecollection。 – Crudler 2013-02-21 13:13:26

0

我需要设置DisplayMemberBinding = “{绑定路径= ID}”

0

尝试

 <dxg:GridColumn FieldName="Id" Header="ID"/> 
     <dxg:GridColumn FieldName="NominationDate" Header="Nomination Date"/> 
     <dxg:GridColumn FieldName="CarNumber" Header="CarNumber"/> 
     <dxg:GridColumn FieldName="CarName" Header="Car Name" /> 
     <dxg:GridColumn FieldName="Colour" Header="Colour"/> 

    </dxg:GridControl.Columns> 

    <dxg:GridControl.View> 
     <dxg:TableView Name="tableView1" SelectedRowsSource="{Binding Selection}" MultiSelectMode="Row" NavigationStyle="Row" /> 


    </dxg:GridControl.View> 
</dxg:GridControl>