在我的C#應用程序,我得到一個DataSet
,看起來像這樣:如何創建一個規模的顏色,如Excel條件格式
然後,我將創建一個表,一個PDF和我requeted畫它就像使用色階(條件格式)的Excel塗料:
我將添加的foreach DataRow
小區的新列來存儲所需顏色,我只是想知道我如何創建這樣的尺度?
任何線索?
在我的C#應用程序,我得到一個DataSet
,看起來像這樣:如何創建一個規模的顏色,如Excel條件格式
然後,我將創建一個表,一個PDF和我requeted畫它就像使用色階(條件格式)的Excel塗料:
我將添加的foreach DataRow
小區的新列來存儲所需顏色,我只是想知道我如何創建這樣的尺度?
任何線索?
您可以使用顏色選擇器來獲取顏色的RGB值,然後使用Color.FromRgb方法可以創建相同的顏色。
你在找什麼是顏色的線性插值。查看this thread瞭解代碼示例以及如何執行該操作的說明。
它可以簡化一點,但顏色將是非常光明的,你必須要找到數據的最高值數據綁定之前:
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;
}