C # Изменение цвета фона события CustomFieldData - PullRequest
0 голосов
/ 28 декабря 2011

У меня есть PivotDataGrid, который работает нормально.Также добавлен CustomUnboundFieldData, но теперь я хочу изменить цвет фона ячейки в соответствии со значением в этом поле.

Чтобы изменить цвет, я использую событие customCellAppearance.Только это событие вызывается после того, как я манипулирую значениями в несвязанных данных поля.

Так что мой вопрос в основном заключается в том, как изменить фон ячейки.Используете событие с несвязанным полем?

Ниже приведен фрагмент кода

//create unbound field
PivotGridField unboundField = pivot.Control.Fields.Add("unboundDataField", FieldArea.FilterArea);
unboundField.UnboundType = FieldUnboundColumnType.String;

//fill unbound field with data
private void Control_CustomUnboundFieldData(object sender, PivotCustomFieldDataEventArgs e)
{         

    String myValue = Convert.ToString(e.GetListSourceColumnValue("sourceColumn"));              
    e.Value = myValue.Substring(6);
    e.Field.SummaryType = FieldSummaryType.Max;            
} 

//code to change appearance of different cells
private void Control_CustomCellAppearance(object sender, PivotCustomCellAppearanceEventArgs e)
{    
    if(e.Value != null)
    {
        e.Background = System.Windows.Media.Brushes.Green; 
    }

}      

1 Ответ

0 голосов
/ 29 декабря 2011

Чтобы изменить цвет в соответствии с «исходными данными», используйте метод CreateDrillDownDataSource.

С помощью этого метода вы можете получить исходный столбец и изменить цвет фона ячейки в соответствии со значением, полученным из метода.

Ниже фрагмента кода:

    private void Control_CustomCellAppearance(object sender, PivotCustomCellAppearanceEventArgs e)
    {
         PivotDrillDownDataSource ds = e.CreateDrillDownDataSource();
         //get value from the original source according to the row index
         String myValue = Convert.ToString(ds.GetValue(e.RowIndex, "sourceColumn"));

         //backgroundcolor condition
         if(myValue.Containts("something"))
         {
            e.Background = System.Windows.Media.Brushes.Green; 
         }
    }

Для получения дополнительной информации я обращаюсь на сайт devexpress: http://documentation.devexpress.com/#WindowsForms/DevExpressXtraPivotGridPivotCellBaseEventArgs_CreateDrillDownDataSourcetopic

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...