【问题标题】:Datagrid WPF issue column not bindingDatagrid WPF问题列未绑定
【发布时间】:2011-09-12 17:44:41
【问题描述】:

我想知道如何在 DataColumn 中使用转换器。使用 Ord_C_Order_Status 表中的 DESCR 列时。它不允许使用。 DisplayMemberBinding="{Binding Path=ORDER_STATUS,Converter={StaticResource OrderStatusConverter}}"

我想为这个 Binding for DESCR 使用转换器,但它不允许。

   <dxg:GridControl DataSource="{Binding Data}"
             AutoExpandAllGroups="True"
             ShowBorder="True"
             Background="{StaticResource Background1}">
   <dxg:GridControl.Columns>
    <!--FieldName="ORDER_KEY"-->
    <dxg:GridColumn Name="colORDER_KEY"
                    DisplayMemberBinding="{Binding Path=ORDER_STATUS,Converter=       {StaticResource             OrderStatusConverter}}"
                    Header="Order key" />
    <dxg:GridColumn Name="colPAT_NUMBER"
                    Header="PAT_NUMBER"
                    DisplayMemberBinding="{Binding Path=FACILITY_KEY}" />

这里是数据网格列:

            <dxg:GridColumn Name="colORDER_KEY"
                            FieldName="ORDER_KEY"
                            ReadOnly="True"
                            Header="Order key" />
            <dxg:GridColumn Name="colPAT_NUMBER"
                            Header="PAT_NUMBER"
                            FieldName="PAT_NUMBER"
                            ReadOnly="True" />
            <dxg:GridColumn Name="colFACILITY_KEY"
                            FieldName="FACILITY_KEY"
                            Header="FACILITY_KEY"
                            ReadOnly="True" />
            <dxg:GridColumn Name="colPATIENT_ID"
                            Header="PATIENT_ID"
                            FieldName="PATIENT_ID"
                            ReadOnly="True" />
            <dxg:GridColumn Name="colMRN"
                            FieldName="ORDER_TYPE_KEY"
                            Header="ORDER_TYPE_KEY"
                            ReadOnly="True" />
            <dxg:GridColumn Name="colORDER_STATUS"
                            DisplayMemberBinding="{Binding Path=ORDER_STATUS}"
                            Header="ORDER_STATUS"
                            ReadOnly="True" />

【问题讨论】:

  • 它不显示任何数据。实际上我真的很想显示与订单状态相对应的 DESCRF,但也只显示空白。

标签: c# asp.net wpf


【解决方案1】:

您可能需要覆盖列的模板才能使用转换器

我不知道您使用的是哪个版本的 DataGrid,但应该是这样的:

<dxg:GridColumn Name="colORDER_KEY" Header="Order key">
    <dxg:GridColumn.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=ORDER_STATUS,
                       Converter={StaticResource OrderStatusConverter}}" />
        </DataTemplate>
    </dxg:GridColumn.ItemTemplate>
</dxg:GridColumn>

【讨论】:

  • 我们使用的是我应该提到的 devexpress。谢谢,我会试试你的想法。我收到 2 条错误消息:
  • 我们使用的是我应该提到的 devexpress。谢谢,我会试试你的想法。我收到 2 条错误消息:错误 5 XML 命名空间“schemas.devexpress.com/winfx/2008/xaml/grid”中不存在标记“GridColumn.ItemTemplate”。第 50 行位置 22。C:\LLA\OPTFDashboard\LLA.Dashboard.Plugins.Orders\Views\OrderView.xaml 50 22 LLA.Dashboard.Plugins.Orders 错误 6 在类型“GridColumn”中找不到可附加属性“ItemTemplate” . C:\LLA\OPTFDashboard\LLA.Dashboard.Plugins.Orders\Views\OrderView.xaml 50 22 LLA.Dashboard.Plugins.Orders
  • @booksman 尝试使用CellTemplateEditTemplate 而不是ItemTemplate
【解决方案2】:

尝试使用 CellTemplate。此外,在您的绑定路径中,在您的字段前面加上“数据”

(例如 Data.ORDER_STATUS)

<dxg:GridColumn Name="colORDER_KEY" Header="Order key"> 
<dxg:GridColumn.ItemTemplate> 
    <DataTemplate> 
        <TextBlock Text="{Binding Path=Data.ORDER_STATUS, 
                   Converter={StaticResource OrderStatusConverter}}" /> 
    </DataTemplate> 
</dxg:GridColumn.ItemTemplate> 

【讨论】:

    猜你喜欢
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 2011-08-15
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多