6

40 列の devexpress xtragrid があります。各セルの値を他のセルと比較し、異なる場合はセルの背景色を変更したいと考えています。私は GridViewInfo を試してみましたが、画面に表示されている列のみを取ります.しかし、すべての列に対してやりたい.(RowCellStyleではありません)そのための解決策はありますか? ありがとうございました!

4

3 に答える 3

6

GridView のCustomDrawCellを処理する必要があります。これは、他の列の値 (age 列) に基づいて Name 列の色を変更するコードの抜粋です。

private void gridView_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e)
    {
        if (e.Column == colName)
        {
            var age = Convert.ToInt32(gridView.GetRowCellValue(e.RowHandle, colAge));
            if (age < 18)
                e.Appearance.BackColor = Color.FromArgb(0xFE, 0xDF, 0x98);
            else
                e.Appearance.BackColor = Color.FromArgb(0xD2, 0xFD, 0x91);
        }
    }

幸運を

于 2012-07-01T14:26:09.050 に答える
4

xtragrid の RowStyle イベントにフックします。

private void maintainDataControl_RowStyle(object sender, RowStyleEventArgs e)
{
    if (e.RowHandle >= 0)
    {
        GridView view = sender as GridView;

        // Some condition
        if((string)view.GetRowCellValue(
            e.RowHandle, view.Columns["SomeRow"]).Equals("Some Value"))
        {
            e.Appearance.BackColor = Color.Green;
        }
    }
}
于 2012-06-29T13:53:09.587 に答える
2

Xtragrid Format 条件を試しましたか?

于 2012-08-22T09:08:53.223 に答える