码迷,mamicode.com
首页 > 其他好文 > 详细

DevExpress 之 GridControl 自定义列

时间:2017-12-20 13:43:55      阅读:959      评论:0      收藏:0      [点我收藏+]

标签:des   两种方法   string   设置   send   design   vmx   eve   存储   

?  前言

DevExpress 控件大家应该都有所了解,使用这个框架实现B/SC/S的,都是非常出色的。本文主要讨论下 GridControl 中如何【自定义列】或【计算列】,可使用以下两种方法实现:

 

1.   方法一

使用 DevExpress.XtraGrid.Columns.GridColumn UnboundExpression UnboundType 属性,步骤如下:

1)   点击 GridControl 控件的 Run Designer 按钮。

2)   选择 Columns,增加一个隐藏列,用于绑定数据的列。

3)   再增加一个显示列(自定义列),用于显示自定义数据。

 

?  示例如下:

1)   显示性别(男、女),但数据库存储的是 1 0

1.   设置 UnboundExpression 属性为:Iif([Sex] == 0 Or [Sex] == 1, Iif([Sex] == 1, ‘‘, ‘‘), ‘未知‘)

2.   设置 UnboundType 属性为:String

 

2)   显示商品状态(可发、残疵、锁定、破损、临保、过期),但数据库存储的是 1 6

1.   设置 UnboundExpression 属性为:Iif([ProductStateId] >= 1 And [ProductStateId] <= 6, Iif([ProductStateId] == 1, ‘可发‘, Iif([ProductStateId] == 2, ‘残疵‘, Iif([ProductStateId] == 3, ‘锁定‘, Iif([ProductStateId] == 4, ‘破损‘, Iif([ProductStateId] == 5, ‘临保‘, Iif([ProductStateId] == 6, ‘过期‘, ‘未知‘)))))), ‘‘)

2.   设置 UnboundType 属性为:String

 

?  注意:

1.   绑定数据的列不能将自身设置为计算列,例如在 Sex 列设置:Iif([Sex] == 0 Or [Sex] == 1, Iif([Sex] == 1, ‘‘, ‘‘), ‘未知‘),将报错。

2.   自定义列的命名必须与数据绑定列不一致,例如:DisplaySex

 

2.   方法二

使用 DevExpress.XtraGrid.Views.Grid.GridView CustomColumnDisplayText 事件,代码如下:

private void gvMx_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)

{

    if (e.Column.FieldName == "Sex")

    {

        switch (Convert.ToString(e.Value))

        {

            case "1":

                e.DisplayText = "";

                break;

            case "0":

                e.DisplayText = "";

                break;

            default:

                e.DisplayText = "未知";

                break;

        }

    }

}

 

3.   效果如图:

技术分享图片

DevExpress 之 GridControl 自定义列

标签:des   两种方法   string   设置   send   design   vmx   eve   存储   

原文地址:http://www.cnblogs.com/abeam/p/8072777.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!