您的位置:首页 > 其它

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

2012-07-24 23:16 423 查看
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"}
};

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 < idList.Count; i++)
{
if (Convert.ToInt32(gridView1.GetRowCellValue(e.RowHandle, "ID")) == 1)
{
e.Appearance.BackColor = Color.Bisque;
}

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

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

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: