找回密码
 立即注册

QQ登录

只需一步,快速开始

lakeonpeak
金牌服务用户   /  发表于:2019-2-21 12:13  /   查看:3223  /  回复:5
请教:我将一个文件转换为二进制后赋值给cellrange 类型的一个单元格,单元格显示为Byte[] Array,代码为:
                       CellRange rg = grid1.GetCellRange(1, 1);
                        CellStyle cs = grid1.Styles.Add("All");

                        //文件转换为二进制
                        cs.DataType = typeof(byte[]);
                        rg.Style = cs;
                        rg.Data = fileConvertByte(fileName);


问题:我想用其他的自定义字符串代替(如:文件名),应如何修改呢?谢谢

5 个回复

倒序浏览
JeffryLI
葡萄城公司职员   /  发表于:2019-2-21 17:43:02
沙发
您好,如果是这样的话,您直接在ownerdrawCell的事件里面对该列或者相应单元格来重新赋值。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
lakeonpeak
金牌服务用户   /  发表于:2019-2-21 22:01:58
板凳
ownerDrawCell 是在grid draw之前发生,我是grid生成后对cellRange(仅一个单元格)以rg.Data的方式对单元格赋值,赋值后单元格内显示为"byte[] Array".在测试采用ownerDrawCell 事件后,不能解决问题!
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2019-2-22 09:21:03
地板
lakeonpeak 发表于 2019-2-21 22:01
ownerDrawCell 是在grid draw之前发生,我是grid生成后对cellRange(仅一个单元格)以rg.Data的方式对单元格赋 ...

首先,单元格是不是byte类型的数据,如果您想在选择区域之后有一个selchanged的事件,对您选中单元格进行重新赋值。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
一路向东
注册会员   /  发表于:2019-2-25 10:35:56
5#
本帖最后由 一路向东 于 2019-2-25 10:38 编辑

楼主,你需要转换一下思路。你可以自定义一个类或者结构体,例如(VB代码,慢慢看):
  1. Class MyData
  2.         Public Data() As Byte

  3.         Sub New(Data() As Byte)
  4.                 Me.Data = Data
  5.         End Sub

  6.         Overrides Function ToString() As String
  7.                 Return "This is My Data"
  8.         End Function
  9. End Class
复制代码
然后,你的最后一行代码修改成:
rg.Data =New MyData(fileConvertByte(fileName))

格子就会显示成 ToString的内容:“This is My Data”。

评分

参与人数 1金币 +500 收起 理由
JeffryLI + 500 很给力!

查看全部评分

回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2019-2-25 11:50:58
6#
不错
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部