Silverlight 4.0 如何在silverlight 4的devexpress datagrid中逐行绑定数据

Silverlight 4.0 如何在silverlight 4的devexpress datagrid中逐行绑定数据,silverlight-4.0,devexpress,Silverlight 4.0,Devexpress,我想基于silverlight的Devexpress datagrid中的数据绑定图像。在silverlight的devexpress网格中是否存在类似rowdatabound的事件。任何帮助都将不胜感激。 基于数据库布尔值,我想显示所需的图像 <dxg:GridControl x:Name="gvPaymentCodes" Width="Auto" Grid.Row="2" Grid.Column="0" CustomUnboundColumnData="gvPaymentCodes_C

我想基于silverlight的Devexpress datagrid中的数据绑定图像。在silverlight的devexpress网格中是否存在类似rowdatabound的事件。任何帮助都将不胜感激。 基于数据库布尔值,我想显示所需的图像

<dxg:GridControl x:Name="gvPaymentCodes" Width="Auto" Grid.Row="2" Grid.Column="0" CustomUnboundColumnData="gvPaymentCodes_CustomUnboundColumnData">
        <dxg:GridControl.Columns>
            <dxg:GridColumn Name="gridColumn1" ReadOnly="True" FieldName="PaymentCode" Header="Current Payment Codes" Width="250" />
            <dxg:GridColumn Header="Required" Name="colImageRequired">
                <dxg:GridColumn.CellTemplate>
                    <DataTemplate>
                        <Canvas>
                            <Image x:Name="imgRequired" Source="{Binding}" Loaded="imgRequired_Loaded"></Image>
                        </Canvas>
                    </DataTemplate>
                </dxg:GridColumn.CellTemplate>
            </dxg:GridColumn>    

<dxg:GridControl x:Name="gvPaymentCodes" Width="Auto" Grid.Row="2" Grid.Column="0" CustomUnboundColumnData="gvPaymentCodes_CustomUnboundColumnData">
        <dxg:GridControl.Columns>
            <dxg:GridColumn Name="gridColumn1" ReadOnly="True" FieldName="PaymentCode" Header="Current Payment Codes" Width="250" />
            <dxg:GridColumn Header="Required" Name="colImageRequired">
                <dxg:GridColumn.CellTemplate>
                    <DataTemplate>
                        <Canvas>
                            <Image x:Name="imgRequired" Source="{Binding}" Loaded="imgRequired_Loaded"></Image>
                        </Canvas>
                    </DataTemplate>
                </dxg:GridColumn.CellTemplate>
            </dxg:GridColumn>    

谢谢

您可以使用自定义模板。。并且可以有条件地将其更改为:

<dxg:GridControl x:Name="gvPaymentCodes" Width="Auto" Grid.Row="2" Grid.Column="0" CustomUnboundColumnData="gvPaymentCodes_CustomUnboundColumnData">
        <dxg:GridControl.Columns>
            <dxg:GridColumn Name="gridColumn1" ReadOnly="True" FieldName="PaymentCode" Header="Current Payment Codes" Width="250" />
            <dxg:GridColumn Header="Required" Name="colImageRequired">
                <dxg:GridColumn.CellTemplate>
                    <DataTemplate>
                        <Canvas>
                            <Image x:Name="imgRequired" Source="{Binding}" Loaded="imgRequired_Loaded"></Image>
                        </Canvas>
                    </DataTemplate>
                </dxg:GridColumn.CellTemplate>
            </dxg:GridColumn>    
public class RowCellTemplateSelector : DataTemplateSelector {
        public override DataTemplate SelectTemplate(object item, DependencyObject container) {
            GridCellData cellData = item as GridCellData;
            FrameworkElement presenter = container as FrameworkElement;
            if (cellData != null && presenter != null) {
                if (cellData.Column.FieldName != "UnitPrice")
                    return base.SelectTemplate(item, container);
                if(Convert.ToDouble(cellData.Value) > 20)
                    return RowCellTemplate1;
                else
                    return RowCellTemplate2;
            }
            return base.SelectTemplate(item, container);
        }
查看此链接了解详细信息:如何:

<dxg:GridControl x:Name="gvPaymentCodes" Width="Auto" Grid.Row="2" Grid.Column="0" CustomUnboundColumnData="gvPaymentCodes_CustomUnboundColumnData">
        <dxg:GridControl.Columns>
            <dxg:GridColumn Name="gridColumn1" ReadOnly="True" FieldName="PaymentCode" Header="Current Payment Codes" Width="250" />
            <dxg:GridColumn Header="Required" Name="colImageRequired">
                <dxg:GridColumn.CellTemplate>
                    <DataTemplate>
                        <Canvas>
                            <Image x:Name="imgRequired" Source="{Binding}" Loaded="imgRequired_Loaded"></Image>
                        </Canvas>
                    </DataTemplate>
                </dxg:GridColumn.CellTemplate>
            </dxg:GridColumn>    
这里还有一个处理未绑定数据的示例。。 尝试在未绑定字段中使用图像。。

<dxg:GridControl x:Name="gvPaymentCodes" Width="Auto" Grid.Row="2" Grid.Column="0" CustomUnboundColumnData="gvPaymentCodes_CustomUnboundColumnData">
        <dxg:GridControl.Columns>
            <dxg:GridColumn Name="gridColumn1" ReadOnly="True" FieldName="PaymentCode" Header="Current Payment Codes" Width="250" />
            <dxg:GridColumn Header="Required" Name="colImageRequired">
                <dxg:GridColumn.CellTemplate>
                    <DataTemplate>
                        <Canvas>
                            <Image x:Name="imgRequired" Source="{Binding}" Loaded="imgRequired_Loaded"></Image>
                        </Canvas>
                    </DataTemplate>
                </dxg:GridColumn.CellTemplate>
            </dxg:GridColumn>    

试试这个。。希望它能帮助你实现。。您应该查找

我建议您使用自定义值转换器或自定义单元格模板选择器,如下文所示:

<dxg:GridControl x:Name="gvPaymentCodes" Width="Auto" Grid.Row="2" Grid.Column="0" CustomUnboundColumnData="gvPaymentCodes_CustomUnboundColumnData">
        <dxg:GridControl.Columns>
            <dxg:GridColumn Name="gridColumn1" ReadOnly="True" FieldName="PaymentCode" Header="Current Payment Codes" Width="250" />
            <dxg:GridColumn Header="Required" Name="colImageRequired">
                <dxg:GridColumn.CellTemplate>
                    <DataTemplate>
                        <Canvas>
                            <Image x:Name="imgRequired" Source="{Binding}" Loaded="imgRequired_Loaded"></Image>
                        </Canvas>
                    </DataTemplate>
                </dxg:GridColumn.CellTemplate>
            </dxg:GridColumn>