DEVExpress GridControl|TableView |FormatConditions 按一定格式设置相应内容
Get到一个新技能,感觉好棒。摘自DEV官网:https://www.devexpress.com/Support/Center/Example/Details/T135593
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:ConditionalFormatting" xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" x:Class="ConditionalFormatting.MainWindow" Title="MainWindow" Height="500" Width="800"> <Window.DataContext> <local:ConditionalFormattingViewModel/> </Window.DataContext> <Grid> <dxg:GridControl Name="grid" ItemsSource="{Binding Path=Items}" AllowLiveDataShaping="True" EnableSmartColumnsGeneration="True"> <dxg:GridControl.Columns> <dxg:GridColumn FieldName="State" IsSmart="True" SortIndex="0" VisibleIndex="0"/> <dxg:GridColumn FieldName="Sales" IsSmart="True" VisibleIndex="1"/> <dxg:GridColumn FieldName="SalesVsTarget" IsSmart="True" FixedWidth="True" VisibleIndex="2"/> <dxg:GridColumn FieldName="Profit" IsSmart="True" VisibleIndex="3"/> <dxg:GridColumn FieldName="CustomersSatisfaction" IsSmart="True" FixedWidth="True" VisibleIndex="4"/> <dxg:GridColumn FieldName="MarketShare" IsSmart="True" FixedWidth="True" VisibleIndex="5"/> </dxg:GridControl.Columns> <dxg:GridControl.View> <dxg:TableView AllowEditing="False" AllowConditionalFormattingMenu="True"> <dxg:TableView.FormatConditions> <dxg:FormatCondition Expression="[SalesVsTarget] < 0.0m" FieldName="SalesVsTarget" PredefinedFormatName="RedText"/> <dxg:FormatCondition Expression="[Profit] < 0.0" FieldName="Profit"> <dxc:Format Foreground="Red"/> </dxg:FormatCondition> <dxg:FormatCondition Expression="[SalesVsTarget] > 0.0m" FieldName="SalesVsTarget" PredefinedFormatName="GreenText"/> <dxg:DataBarFormatCondition FieldName="Sales" PredefinedFormatName="RedGradientDataBar"/> <dxg:TopBottomRuleFormatCondition Expression="[Sales]" FieldName="{x:Null}" PredefinedFormatName="BoldText" Rule="TopPercent" Threshold="10"/> <dxg:DataBarFormatCondition FieldName="Profit" PredefinedFormatName="GreenGradientDataBar"/> <dxg:IconSetFormatCondition FieldName="MarketShare" PredefinedFormatName="Quarters5IconSet"/> <dxg:IconSetFormatCondition FieldName="CustomersSatisfaction" PredefinedFormatName="Stars3IconSet"/> </dxg:TableView.FormatConditions> </dxg:TableView> </dxg:GridControl.View> </dxg:GridControl> </Grid> </Window>