我有一些图像存储在MySQL InnoDB数据库中的Blob
类型字段中,以及与存储在其他字段中的图像有关的其他信息。从MySQL Blob字段中呈现BandedGridColumn中的图像
正如你所知,在DevExpress 11.2版中分发的Banded Grid View在Banded Grid Columns的帮助下,能够呈现多种类型的数据,最显着的是图像。
到目前为止,我能够创建的每一个控制和加载任何所需的数据,包括图片,采用了常见的MySqlDataReader
和DataSet
方法,通过Grid ControlDataSource
财产,拥有该BandedGridView
。
但是,正如你所知道的那样,当你从MySQL加载Blob字段时,你将返回一个带有文件内容的字节数组,这里是所讨论的图像。
我希望DevExpress能够识别二进制数据,并意识到它是一个图像文件,并自动渲染图像列下的所有行分配处理数据库Image
字段,但它没有,现在我认为它可能是很遥远的希望。
而不是渲染图像,该列的每一行显示一个简单的字符串输出引用该字段包含的对象的类型。在这种情况下,由于它是一个文件的二进制表示,它输出System.Byte[]
。
我已经搜索了DevExpress文档,并且通常在网络上找不到可以解决我的问题的任何明确信息。在WinForms - > XtraGrid部分的下方,有一个我期望的结果与DevExpress一起打包,一个名为“GridMainDemo”的解决方案。一旦运行演示,切换到备用视图并进入带状网格视图,然后只需点击图片栏下的任意一行,就可以看到我想要的结果的清晰示例。
当然,我已经看过该演示的源代码,但我不能说澄清和解释是构建此类演示的DevExpress团队的明确目标,而且很遗憾,我没有太多时间来看待它深深地。然而从我看到的这个演示不同于图像本地存储为文件这一点,并且已经在某种存储库中正确引用,这对我的问题没有多大帮助。
为了完成我的问题,对于长时间的阅读感到抱歉,只是想清楚地知道我的目标是什么,阻碍什么,以及如何设置所有的东西以便找到达到我的目标的方法。
简而言之,一个简单的例子就是如何将图像从MySQL Blob字段加载到Banded Grid View中的列中,并在加载后或者当用户单击字段单元格时呈现它,这将是理想的,并且能够理解并且做必要的代码,以便我的视图也呈现我的图像。
我非常感谢,真的。
注意:不幸的是,使用本地甚至远程存储的文件不是 的一个选项。图像必须保存在数据库的限制范围内。