DataGridView根据数据“0”或“1”等值显示为“是”或“否”效果,在数据库中,我们经常用一些简单的数值(如0、1、2等)代表一定含义,如:是/否,男/女,正确/错误,已婚/未婚/离异等。
但在DataGridView控件中如何显示呢?
一种办法是使用 select Case 语句。
二种方法就是使用DataGridView 列定制。
这里主要讲的是第二种方法。
在设置DataGridView列属性时,将ColumnType设置为DataGridViewComboBoxColumn,DisplayStyle设置为Nothing,然后是代码:
在窗体加载过程中录入下列代码:
((DataGridViewComboBoxColumn)gvSaleOrder.Columns["payMode"]).DisplayMember = "text";
((DataGridViewComboBoxColumn)gvSaleOrder.Columns["payMode"]).ValueMember = "value";
DataTable dtPayMode = new DataTable();
dtPayMode.Columns.Add("text");
dtPayMode.Columns.Add("value", typeof(byte));
dtPayMode.Rows.Add(new object[] { "现金", 0 });
dtPayMode.Rows.Add(new object[] { "刷卡", 1 });
((DataGridViewComboBoxColumn)gvSaleOrder.Columns["payMode"]).DataSource = dtPayMode;
这样就可以在对DataGridView绑定数据时,自动根据0或1等状态显示相应的中文了。