Datagrid WPF问题列没有绑定

时间:2011-09-12 17:44:41

标签: c# asp.net wpf

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

我想使用转换器为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" />

2 个答案:

答案 0 :(得分:0)

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

我不知道您使用的是哪个版本的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>

答案 1 :(得分:0)

尝试使用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>