DXGrid绑定不显示单元格值

时间:2013-02-21 12:15:58

标签: wpf devexpress mvvm-light

我正在更新我的项目以使用DevExpress DXGrid。 注意:我正在使用MVVM light toolkit。

我成功绑定到默认的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>

3 个答案:

答案 0 :(得分:0)

尝试使用RowData或Data为您的属性添加前缀。这些是由dxgrid公开的依赖项对象,用于检索绑定数据。所以在你的情况下你会有类似下面的东西..

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

or 

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

答案 1 :(得分:0)

我需要设置DisplayMemberBinding =“{Binding Path = Id}”

答案 2 :(得分: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>