DEV GridControl绑定的数据,ID相同的行显示相同的颜色(当ID的值不确定时)

public BindingList<StudentDC> StudentList
{
get { return this.bindingSourceList.DataSource as BindingList<StudentDC>; }
set { bindingSourceList.DataSource = value; }
}

private void FrmGridTest_Load(object sender, System.EventArgs e)
{
StudentList = GetStudentList();


}

private BindingList<StudentDC> GetStudentList()
{
BindingList<StudentDC> list = new BindingList<StudentDC>(){
new StudentDC(){Class = "Class 1",ID = 1,Name = "zhangsan"},
new StudentDC(){Class = "Class 1",ID = 1,Name = "zhangsan"},
new StudentDC(){Class = "Class 2",ID = 2,Name = "lisi"},
new StudentDC(){Class = "Class 3",ID = 3,Name = "wangwu"},
new StudentDC(){Class = "Class 3",ID = 3,Name = "wangwu"},
new StudentDC(){Class = "Class 3",ID = 3,Name = "wangwu"},
new StudentDC(){Class = "Class 3",ID = 4,Name = "wangwu"},
new StudentDC(){Class = "Class 3",ID = 4,Name = "wangwu"},
new StudentDC(){Class = "Class 3",ID = 5,Name = "wangwu"},
new StudentDC(){Class = "Class 3",ID = 6,Name = "wangwu"},
new StudentDC(){Class = "Class 3",ID = 6,Name = "wangwu"},
};

return list;
}

private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
var tmpList = GetStudentList();
var idList = (from item in tmpList select item.ID).ToList();
idList = new List<int>(idList.Distinct());
var tmp = gridView1.GetRowCellValue(e.RowHandle, "ID");
if (gridView1.GetRow(e.RowHandle) == null)
{
return;
}
for (int i = 0; i < tmpList.Count; i++)
{
if (Convert.ToInt32(gridView1.GetRowCellValue(e.RowHandle, "ID")) % 3 == 1)
{
e.Appearance.BackColor = Color.Bisque;
}

if (Convert.ToInt32(gridView1.GetRowCellValue(e.RowHandle, "ID")) % 3 == 2)
{
e.Appearance.BackColor = Color.CornflowerBlue;
}

if (Convert.ToInt32(gridView1.GetRowCellValue(e.RowHandle, "ID")) % 3 == 0)
{
e.Appearance.BackColor = Color.SkyBlue;
}
}

 

}

posted @ 2012-07-25 12:27  沙耶  阅读(528)  评论(0编辑  收藏  举报