Silverlight 4.0 如何在silverlight 4的devexpress datagrid中逐行绑定数据
我想基于silverlight的Devexpress datagrid中的数据绑定图像。在silverlight的devexpress网格中是否存在类似rowdatabound的事件。任何帮助都将不胜感激。 基于数据库布尔值,我想显示所需的图像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
<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>