想象一下,我们有一个网格,如:
Column1 Column2 ....
A 432423
A 344
A 5
B 45
B 77
C 65
D 4
D 545
. .
. .
. .
我想根据Column1上的值绘制这些行,我们不知道值(因此条件格式不可能)它们可能是任何东西,但我只是想按颜色对它们进行分组,例如我想要Column1中的A为粉红色的行,然后是B黄色的行,然后是C粉红色,D黄色等等。我可以使用哪种迭代?
答案 0 :(得分:1)
我会使用RowDataBound
:
private Object lastValue = null;
private Color lastColor = Color.Yellow;
protected void gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView row = (DataRowView)e.Row.DataItem;
Object thisValue = row["Column1"];
if(thisValue == lastValue)
e.Row.BackColor = lastColor;
else
e.Row.BackColor = lastColor == Color.Yellow ? Color.Pink : Color.Yellow;
lastValue = thisValue;
lastColor = e.Row.BackColor;
}
}
答案 1 :(得分:0)
好吧,一些类型的细节和框架信息会很好,但作为一个纯粹的算法:
for(int i = 0;i<columns[0].Count;i++)
{
Colour colour = Utils.GetColourFromValue(columns[0][i].Value);
for(int j = 0;i<columns.Count;j++)
{
columns[j][i].Colour = colour;
}
}