开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 4821|回复: 1

Gridview显示动画列

[复制链接]

0

精华

10

贡献

105

赞扬

帖子
114
软币
1288
在线时间
181 小时
注册时间
2014-1-25
发表于 2015-6-11 19:58:45 | 显示全部楼层 |阅读模式
snap_2011_07_24_10h06m37s_001.jpg
实现步骤:

第一步:


RepositoryItemPictureEdit repositoryItemPictureEdit1 = this.gridControl1.RepositoryItems.Add("PictureEdit") as RepositoryItemPictureEdit;
GridColumn unbColumn = this.gridView1.Columns.AddField("状态提示");
unbColumn.UnboundType = DevExpress.Data.UnboundColumnType.Object;
unbColumn.VisibleIndex = this.gridView1.Columns.Count - 1;
unbColumn.ColumnEdit = repositoryItemPictureEdit1;//设置非绑定列的动画的现实模式,非为始终现实动画、为焦点时显示动画及默认
this.gridView1.OptionsView.AnimationType = GridAnimationType.AnimateAllContent;
repositoryItemPictureEdit1.NullText = " ";  //解决了自动筛选行显示“No image data”的问题





第二步




        private void gridView1_CustomUnboundColumnData_1(object sender, CustomColumnDataEventArgs e)
        {
                if (e.IsGetData)
                {
                    DataRow row = gridView1.GetDataRow(e.RowHandle);
                    if (row == null) return;
                    //这只根据"QYBH"列的值,来返回不同的图片
                    string key = (string)row["xmzt"];        //根据 "xmzt"这一列来显示不同的图片
                    if (this.gridView1.RowCount >= 0)
                    {
                        if (key == "正常")
                        {
                            if (!ht.ContainsKey(key))      //看看ht表里面是否包含当前键值,哈希表就是相当于一个键值对表
                                ht.Add(key, GetImage(0));
                            e.Value = ht[key];
                        }
                        else if (key == "暂停")
                        {
                            if (!ht.ContainsKey(key))
                                ht.Add(key, GetImage(1));
                            e.Value = ht[key];
                        }
                    }
                }
        }







第三步






       private Hashtable ht = new Hashtable();
        private byte[] GetImage(int key)
        {
            //根据传过来的值,返回相应的图片,
            Image img = null;
            if (key==0)
            {
                img = Properties.Resources.high;
            }
            else if(key==1)
            {
                img = Properties.Resources.low;
            }


            return DevExpress.XtraEditors.Controls.ByteImageConverter.ToByteArray(img, ImageFormat.Gif);
           
        }



评分

参与人数 3赞扬 +3 收起 理由
zhenggang2b + 1 实现比较复杂
pptv4000 + 1 Thanks
多月枫 + 1 赞一个

查看全部评分

回复

使用道具 举报

0

精华

1

贡献

0

赞扬

帖子
54
软币
356
在线时间
30 小时
注册时间
2014-7-12
发表于 2015-6-17 17:04:32 | 显示全部楼层
太复杂了,只有用数据更和imagelist绑定一下就行了
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-6-8 19:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表