2010-08-18 70 views
1

我发现了一个巨大的C#示例,基于如何大或小的值的颜色细胞橙色深浅不同的是: http://demos.devexpress.com/ASPxTreeListDemos/Appearance/ConditionalFormatting.aspx(C#)条件格式

的问题是它希望这些数字对于它的运作非常大。有没有使用数学公式的方法,我可以指定最大和最小的数字(或所有数字,如果需要),并让它以这种方式计算橙色阴影。

这里是从上面的链接的具体代码:

protected void treeList_HtmlDataCellPrepared(object sender, TreeListHtmlDataCellEventArgs e) { 
    if(e.Column.Name == "budget") { 
     decimal value = (decimal)e.CellValue; 
     e.Cell.BackColor = GetBudgetColor(value); 
     if(value > 1000000M) 
      e.Cell.Font.Bold = true 
    } 
} 

Color GetBudgetColor(decimal value) { 
    decimal coeff = value/1000 - 22; 
    int a = (int)(0.02165M * coeff); 
    int b = (int)(0.09066M * coeff); 
    return Color.FromArgb(255, 235 - a, 177 - b); 
} 

我假设的数量乘以该系数_能以某种方式计算。有任何想法吗?

回答

0

尝试改变这一行decimal coeff = value/1000 - 22;decimal coeff = value/100 - 22;

+0

我不明白怎么会处理的任何数值范围。我确实在MSDN博客上找到了答案,尽管它使用了不同的方法。谢谢你的回应! – lpage 2010-08-19 02:10:19