【发布时间】:2009-07-27 23:34:06
【问题描述】:
我正在将一个数据库读取器对象传递给DataGrid,它会将我的列之一视为byte[] 类型,但我碰巧知道它应该始终是一个可打印的字符串。如何强制 .NET DateBinding 系统进行该转换?我能看到的唯一放置任何东西的地方是BoundColumn.DataFormatString,但我找不到任何指示如何做我需要的东西。
编辑:我知道如何将byte[] 转换为string,但不知道如何让BoundColumn 做到这一点。
因为在这种情况下我可以编辑查询字符串,所以我在SELECT 中使用PADR(column,0) as column 破解了它。如果无法修改查询,我仍然对如何处理感兴趣。
【问题讨论】:
-
那个字节数组的内容是什么?一个名字?一个图像?实际的 GUID 类型代码?这可能会影响从 byte[] 到 string 的转换。
-
这是对异常调用 .stacktrace 并通过 SQLite BLOB 列反弹的结果。
-
嗯,您能否再更新一下您的问题以概述您的流程。我很困惑您是否希望处理方法进行转换,数据库读取器进行转换,或者您是否希望在所有过程开始之前将数据从 SQLite 数据库转换为字符串。
-
我希望它被转换的地方是在 BoundColumn 对象中作为某种格式指令或某种回调:这是对象,请返回一个要使用的字符串。
-
数组类型没有内置的格式字符串,所以你不走运。但是,如果切换到 TemplateColumn,您几乎可以做任何事情。
标签: asp.net data-binding