dataGridView 显示问题
select a.type as 证件类型
from table1 a table2 b where 1=1";
dataGridView1.DataSource = ds.Tables[0].DefaultView;
查询table1表结果显示在dataGridView1
字段type存储的是1、2、3、4、5、6、7、8、9,显示在dataGridView1上时1为身份证,2为学生证,3为军官证,4为绿卡 等等
用case 可以实现, 还有别的办法吗
[解决办法]
遍历dataset 把该列的值替换成文字就可以了 然后再绑定
[解决办法]
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()?