【问题标题】:DXGrid binding not showing cell valueDXGrid 绑定不显示单元格值
【发布时间】:2013-02-21 12:15:58
【问题描述】:

我正在更新我的项目以使用 DevExpress DXGrid。 注意:我使用的是他的 MVVM 轻量级工具包。

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

【问题讨论】:

    标签: wpf devexpress mvvm-light


    【解决方案1】:

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

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

    【讨论】:

    • 啊...抱歉,我可能想错了。只尝试没有绑定的字段名称(即 FieldName="Id").. 至少这就是我回忆使用 dxgrid 的方式。 (RowData 用于检索模板中的绑定数据).. 还有你绑定到什么样的数据结构? ObservableCollection?
    • 我想我破解了 - 我需要设置 DisplayMemberBinding="{Binding Path=Id}"
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      试试

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-19
        • 1970-01-01
        • 1970-01-01
        • 2015-10-07
        • 2012-06-06
        • 1970-01-01
        • 2018-09-03
        • 1970-01-01
        相关资源
        最近更新 更多