ASP.Net 网格视图显示图像
本文关键字:显示图 图像 显示 视图 Net 网格 ASP | 更新日期: 2023-09-27 18:32:27
是否可以在AutoGenerateColumns
模式下在 GridView 中显示图像?我试过这个
private void LoadEventLog(string servicesName)
{
var bmp = new Bitmap(32, 32);
using (var g = Graphics.FromImage(bmp))
{
g.Clear(Color.Purple);
}
var logs = ServiceHelper.GetEventLogs(servicesName)
.Select(x => new {x.MachineName, x.TimeGenerated, Category = GetCategory(x.Category), x.Message, Img=bmp })
.Take(100)
.ToArray(); //
ServicesGrid.DataSource = logs;
ServicesGrid.DataBind();
}
.aspx:
<asp:GridView ID="ServicesGrid" OnRowDataBound="ServicesGrid_OnItemDataBound"
OnPageIndexChanging="ServicesGrid_OnPageIndexChanging"
AutoGenerateColumns="true" runat="server" AllowPaging="True" />
但它不起作用。
我认为网格视图不支持自动生成列的位图。另外,我很确定图像没有存储在您的徽标列中。看起来它只是存储类型。
一种解决方案是存储图像或 URL 的 base64 表示形式,然后手动绑定列。
从此链接 (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.autogeneratecolumns.aspx):
而不是让 GridView 控件自动生成 列字段,您可以通过设置 属性为 false,然后创建自定义 列集合。除了绑定列字段外,您还可以 显示按钮列字段、复选框列字段、命令 字段、超链接列字段、图像字段或列字段基于您自己的自定义模板。
可能的解决方案:https://stackoverflow.com/a/7983647/375304