在数据库中,我们经常用一些简单的数值(如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等状态显示相应的中文了。如下图: