如何在SyncFusion GridDataControl中设置单元格背景颜色?

时间:2018-01-01 12:07:26

标签: c# wpf visual-studio syncfusion

我正在使用 SyncFusion GridDataControl 。我正在开发市场观察。所以我想在Cell LastTradedPrice 中显示价值。并且每30秒后值就会发生变化。

我想设置单元格的颜色。如果当前新值小于上限值,我想显示红色,如果当前新值大于上一个值,那么我想显示绿色背景颜色。

我使用了条件格式,但没有帮助。我的网格如下:

<Grid>
    <syncfusion:GridDataControl Name="gridMarketWatch"
      AllowEdit="False"
      AutoPopulateColumns="False"
      ItemsSource="{Binding Stocks, UpdateSourceTrigger=PropertyChanged}"
      NotifyComplexPropertyChanges="True"
      NotifyPropertyChanges="True"
      ShowAddNewRow="False"
      ShowGroupDropArea="False"
      VisualStyle="Metro"
      EnableRenderOptimization="DisableBackgroundFrameRendering"
      IsGroupsExpanded="True"
      >
        <syncfusion:GridDataControl.VisibleColumns>
          <syncfusion:GridDataVisibleColumn HeaderText="Token" MappingName="Token" >
                <syncfusion:GridDataVisibleColumn.HeaderStyle>
                    <syncfusion:GridDataColumnStyle HorizontalAlignment="Center" />
                </syncfusion:GridDataVisibleColumn.HeaderStyle>
            </syncfusion:GridDataVisibleColumn>
            <syncfusion:GridDataVisibleColumn HeaderText="LastTradedPrice" MappingName="LastTradedPrice" >
                <syncfusion:GridDataVisibleColumn.HeaderStyle>
                    <syncfusion:GridDataColumnStyle HorizontalAlignment="Center" />
                </syncfusion:GridDataVisibleColumn.HeaderStyle>

                <syncfusion:GridDataVisibleColumn.ColumnStyle>
                    <syncfusion:GridDataColumnStyle HorizontalAlignment=" Left "
                                />
                </syncfusion:GridDataVisibleColumn.ColumnStyle>

            </syncfusion:GridDataVisibleColumn>
                <syncfusion:GridDataVisibleColumn.HeaderStyle>
                    <syncfusion:GridDataColumnStyle HorizontalAlignment="Center" />
                </syncfusion:GridDataVisibleColumn.HeaderStyle>
            </syncfusion:GridDataVisibleColumn>
                <syncfusion:GridDataVisibleColumn.HeaderStyle>
                    <syncfusion:GridDataColumnStyle HorizontalAlignment="Center" />
                </syncfusion:GridDataVisibleColumn.HeaderStyle>
                <syncfusion:GridDataVisibleColumn.ColumnStyle>
                    <syncfusion:GridDataColumnStyle HorizontalAlignment="Right" />
                </syncfusion:GridDataVisibleColumn.ColumnStyle>
            </syncfusion:GridDataVisibleColumn>
        </syncfusion:GridDataControl.VisibleColumns>


        <syncfusion:GridDataControl.ConditionalFormats>

            <syncfusion:GridDataConditionalFormat Name="C1" ApplyStyleToColumn="LastTradedPrice">
                <syncfusion:GridDataConditionalFormat.Style>
                    <syncfusion:GridDataStyleInfo VerticalAlignment="Center"
                                                  Background="IndianRed"
                                                  Image="{StaticResource DownArow}">
                        <syncfusion:GridDataStyleInfo.ImageMargins>
                            <syncfusion:CellMarginsInfo Bottom="10"
                                                        Left="10"
                                                        Right="10"
                                                        Top="5" />
                        </syncfusion:GridDataStyleInfo.ImageMargins>
                    </syncfusion:GridDataStyleInfo>
                </syncfusion:GridDataConditionalFormat.Style>

                <syncfusion:GridDataConditionalFormat.Conditions>
                    <syncfusion:GridDataCondition  ColumnName="LastTradedPrice"
                                                   ConditionType="LessThan"
                                                   Value="{Binding Prev_LTP}" />
                </syncfusion:GridDataConditionalFormat.Conditions>
            </syncfusion:GridDataConditionalFormat>

            <syncfusion:GridDataConditionalFormat Name="C2" ApplyStyleToColumn="LastTradedPrice">
                <syncfusion:GridDataConditionalFormat.Style>
                    <syncfusion:GridDataStyleInfo VerticalAlignment="Center"
                                                  Background="LightGreen"
                                                  Image="{StaticResource UpArow}">
                        <syncfusion:GridDataStyleInfo.ImageMargins>
                            <syncfusion:CellMarginsInfo Bottom="10"
                                                                Left="15"
                                                                Right="15"
                                                                Top="5" />
                        </syncfusion:GridDataStyleInfo.ImageMargins>

                    </syncfusion:GridDataStyleInfo>
                </syncfusion:GridDataConditionalFormat.Style>

                <syncfusion:GridDataConditionalFormat.Conditions>
                    <syncfusion:GridDataCondition ColumnName="LastTradedPrice"
                                                  ConditionType="GreaterThan"
                                                  Value="{Binding Prev_LTP}" />
                </syncfusion:GridDataConditionalFormat.Conditions>

            </syncfusion:GridDataConditionalFormat>

            <syncfusion:GridDataConditionalFormat Name="C3" ApplyStyleToColumn="LastTradedPrice">
                <syncfusion:GridDataConditionalFormat.Style>
                    <syncfusion:GridDataStyleInfo VerticalAlignment="Center"
                                                  Background="BlueViolet"
                                                  Image="{StaticResource DownArow}">
                        <syncfusion:GridDataStyleInfo.ImageMargins>
                            <syncfusion:CellMarginsInfo Bottom="10"
                                                        Left="15"
                                                        Right="15"
                                                        Top="5" />
                        </syncfusion:GridDataStyleInfo.ImageMargins>

                    </syncfusion:GridDataStyleInfo>
                </syncfusion:GridDataConditionalFormat.Style>
                <syncfusion:GridDataConditionalFormat.Conditions>
                    <syncfusion:GridDataCondition ColumnName="LastTradedPrice"
                                                  ConditionType="Equals"
                                                  Value="{Binding Prev_LTP}"   />
                </syncfusion:GridDataConditionalFormat.Conditions>
            </syncfusion:GridDataConditionalFormat>

        </syncfusion:GridDataControl.ConditionalFormats>


    </syncfusion:GridDataControl>



</Grid>

0 个答案:

没有答案