博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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