《后台构造DataGridView,并且根据不同条件显示不同颜色》

新手练习。

  今天按照需求做了一个从后台构造出DataGridView,然后根据不同的条件让其显示的颜色也要有变化,目的是更人性化点。

  虽说这不是很强大的功能,但也是个不小的积累,以此分享给跟我一样的新手们。程序之路共勉!

废话不说了,开始:

首先获取一个DataTable并且设置下表头,之后开始循环遍历DataTable里的数据并添加到DataGridView里面。看代码:

 

代码
   
     
// 把获取到的所有数据赋给一个DataTable
dd_table = _objuser.GetAllLoanOrder(UserInfo.uPara1);

// 清除原有的行和列
dataGridView1.Rows.Clear();
dataGridView1.Columns.Clear();

// 构造DGV 设置表头
dataGridView1.Columns.Add( " 操作 " , " 操作 " );
dataGridView1.Columns.Add(
" 订单编号 " , " 订单编号 " );
dataGridView1.Columns.Add(
" 商户 " , " 商户 " );
dataGridView1.Columns.Add(
" 当前状态 " , " 当前状态 " );
dataGridView1.Columns.Add(
" 是否通过审核 " , " 是否通过审核 " );
dataGridView1.Columns.Add(
" 保证金百分比 " , " 保证金百分比 " );
dataGridView1.Columns.Add(
" 手续费 " , " 手续费 " );


DataGridViewRow new_row
= null ;
// 循环dt_list行,dgv填充de_list各行数据
for ( int i = 0 ; i < dd_table.Rows.Count; i ++ )
{
new_row
= new DataGridViewRow();

// 循环DGV的列,为new_row各单元格定义其单元格类型 (让列表的第一行显示个【操作】按钮)
for ( int j = 0 ; j < dataGridView1.Columns.Count; j ++ )
{
if (j != 0 )
{
new_row.Cells.Add(
new DataGridViewTextBoxCell());
}
else
{
new_row.Cells.Add(
new DataGridViewButtonCell());
}
}

// 填充该数据行的值
new_row.SetValues( " 操作 " ,
dd_table.Rows[i][
" 订单编号 " ].ToString(),
dd_table.Rows[i][
" 商户 " ].ToString(),
dd_table.Rows[i][
" 当前状态 " ].ToString(),
dd_table.Rows[i][
" 是否通过审核 " ].ToString(),
dd_table.Rows[i][
" 保证金百分比 " ].ToString(),
dd_table.Rows[i][
" 手续费 " ].ToString(),
);

// DGV中添加新的数据行
dataGridView1.Rows.Add(new_row);
// 下面开始设置各行的颜色
int loischeck = Convert.ToInt32(dd_table.Rows[i][ " loIsCheck " ]); // 获取是否通过审核
if (loischeck == 0 ) // 没有通过审核 以红色显示
this .dataGridView1.Rows[i].DefaultCellStyle.ForeColor = Color.Red;
if (loischeck == 1 ) // 通过审核 以绿色显示
this .dataGridView1.Rows[i].DefaultCellStyle.ForeColor = Color.Green;
}

注意:一定要在添加新的数据行 后才可以设置该行的颜色,否则一直会报索引错误!  

再次注意:看过之后不妨留下你的建议或者见解;如要转载本文请标明原文地址http://www.cnblogs.com/song_ 谢谢!

 

 

你可能感兴趣的:(datagridview)