日期:2014-05-18 浏览次数:20942 次
private void dvg_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (dgvUser.Columns[e.ColumnIndex].Name.Equals("IntroState"))
{
foreach (DataGridViewRow dgv in dgvUser.Rows)
{
switch (e.Value.ToString())
{
case "0":
e.Value = "未填写";
e.CellStyle.BackColor = Color.Yellow;
break;
case "1":
e.Value = "待审核";
e.CellStyle.BackColor = Color.Red;
break;
case "2":
e.Value = "已通过";
e.CellStyle.BackColor = Color.Green;
break;
default:
break;
}
}
}
}
------解决方案--------------------
up
------解决方案--------------------
ls的也行,但是起始用sql是不是更直接一点呢~
------解决方案--------------------
建议type字段使用DatagridViewComboBox
datasource可以是一个键值对.或是枚举(没试过枚举 请参考http://msdn.microsoft.com/zh-cn/library/y0wfd4yz.aspx)
valuemember就是数值
displaymember就是文字
DataPropertyName就是字段名.
------解决方案--------------------
点击控件 右上角有个箭头 点一下 里面有个编辑列 在里面选取你所需要的 编辑HeadText 就行了
------解决方案--------------------
推荐5楼的做法
------解决方案--------------------
支持下楼主
------解决方案--------------------
1.sql中case when可以搞
2.遍历取回来的datatable,修改其中的值也可以.
------解决方案--------------------
直接sql中case when多省事.
------解决方案--------------------
绘制单元格时都会发生CellFormatting事件的。
string stringValue = (string)e.Value;
获取了这个Value,进行简单的字符串处理就可以去掉空格
------解决方案--------------------
CellFormatting是个事件。。。可以+=一下~
------解决方案--------------------
去空格。。。.前后的话。。。Trim()?