2016-07-23 32 views
0

在我的C#應用​​程序,我得到一個DataSet,看起來像這樣:如何創建一個規模的顏色,如Excel條件格式

enter image description here

然後,我將創建一個表,一個PDF和我requeted畫它就像使用色階(條件格式)的Excel塗料:

enter image description here

我將添加的foreach DataRow小區的新列來存儲所需顏色,我只是想知道我如何創建這樣的尺度?

任何線索?

回答

0

您可以使用顏色選擇器來獲取顏色的RGB值,然後使用Color.FromRgb方法可以創建相同的顏色。

0

你在找什麼是顏色的線性插值。查看this thread瞭解代碼示例以及如何執行該操作的說明。

0

它可以簡化一點,但顏色將是非常光明的,你必須要找到數據的最高值數據綁定之前:

static int maxValue = 2401; 

private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) 
{ 
    if (e.RowIndex < 0 || e.ColumnIndex < 2) return; // skip header cells, userid and year 

    int value = 0; 
    var cell = dataGridView1[e.ColumnIndex, e.RowIndex]; 
    if (!int.TryParse(cell.Value + "", out value)) return; // skip non 

    int red = value * 511/maxValue; 
    int green = 511 - red; 

    red = Math.Min(red, 255); 
    green = Math.Min(green, 255); 

    var color = Color.FromArgb(red, green, 0); 
    e.CellStyle.BackColor = color; 
} 
相關問題