DataGridView控件怎样实现颜色的分类
假如我有10条数据,当我读数据时,读到对的我就改变它的底色为蓝色,相反就是红色,如果读到第4条数据时,它显示红色,我怎样让它显示到最后,总的来说,就是蓝色的归纳在一起,红色的归纳在一起
假如我有10条数据,当我读数据时,读到对的我就改变它的底色为蓝色,相反就是红色,如果读到第4条数据时,它显示红色,我怎样让它显示到最后,总的来说,就是蓝色的归纳在一起,红色的归纳在一起
颜色改一下
相關代碼:private void Form1_Load(object sender, EventArgs e)
{
Bind();
}private void Bind()
{
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection("server=.;user id=sa;password=;database=CodeIoDB;"))
{
conn.Open();
SqlCommand com = new SqlCommand();
com.Connection = conn;
com.CommandType = CommandType.Text;
com.CommandText = "select CateId,CateName from CI_CodeCate";
SqlDataAdapter da = new SqlDataAdapter(com);
da.Fill(dt);
} //添加一个标识列
DataColumn dc = new DataColumn();
dc.ColumnName = "Flag";
dc.Expression = "CateId%2";
dt.Columns.Add(dc); //对DataTable进行排序
dt.DefaultView.Sort = "Flag desc,CateId asc"; dataGridView1.DataSource = dt; //隐藏标识列
dataGridView1.Columns["Flag"].Visible = false;
}/// <summary>
/// 變色
/// </summary>
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.RowIndex >= -1)
{
if (dataGridView1.Rows[e.RowIndex].Cells["CateId"].Value != null)
{
int v = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["CateId"].Value);
if (v % 2 == 0) //根據CateId奇偶變色
{
e.CellStyle.BackColor = ControlPaint.LightLight(Color.Green);
}
else
{
e.CellStyle.BackColor = ControlPaint.LightLight(Color.Yellow);
}
}
}
}
僅供參考。
2.其实就是你主要的问题:其实就是移动行的问题,移动DataGridView的行,这个你到网上查一下吧,网上有很多介绍的,也很简单的