我想用二进制图像列创建网格视图。源是来自数据库的图像路径。 但图像并没有出现。
<dx:GridViewDataBinaryImageColumn Caption="Image" FieldName="Image_Path"
VisibleIndex="7" Width="20%">
<PropertiesBinaryImage ImageHeight="150" ImageWidth="225" EnableServerResize="True" ImageUrlFormatString="Image_Path">
<EditingSettings Enabled="true" UploadSettings-UploadValidationSettings-MaxFileSize="4194304"/>
</PropertiesBinaryImage>
<SettingsHeaderFilter>
<DateRangePickerSettings EditFormatString="" />
</SettingsHeaderFilter>
<HeaderStyle HorizontalAlign="Center" />
<CellStyle HorizontalAlign="Center">
</CellStyle>
</dx:GridViewDataBinaryImageColumn>
我的asp代码有什么问题吗?感谢
答案 0 :(得分:1)
GridViewDataBinaryImageColumn
documentation评论部分说:
ASPxGridView不会自动生成二进制图像列 (前提是ASPxGridView.AutoGenerateColumns选项是 启用)即可。您应该手动创建二进制映像列并绑定 它到包含二进制格式图像的数据字段。
您可以通过在GridViewDataBinaryImageColumn
标记中设置AutoGeneratedColumns="False"
来手动创建GridView
:
<dx:ASPxGridView ID="GridView1" runat="server" AutoGeneratedColumns="False" ...>
<%-- other settings --%>
<Columns>
<%-- other column settings --%>
<dx:GridViewDataBinaryImageColumn Caption="Image" FieldName="Image_Path"
VisibleIndex="7" Width="20%">
<%-- binary image column settings --%>
</dx:GridViewDataBinaryImageColumn>
<%-- other column settings --%>
</Columns>
<%-- other settings --%>
</dx:ASPxGridView>
如果您想将DataBound
设置为true,请使用AutoGeneratedColumns
事件后面的代码手动创建它:
protected void GridView1_DataBound(object sender, EventArgs e)
{
ASPxGridView grid = sender as ASPxGridView;
// check if row "Image_Path" exists
if (grid.Columns.IndexOf(grid.Columns["Image_Path"]) != -1)
return;
var column = new GridViewDataBinaryImageColumn();
column.FieldName = "Image_Path";
column.Caption = "Image";
// other binary image column settings
grid.Columns.Add(column);
}
相关问题:
How to display a binary image when columns are created automatically
Binary Image not displaying in ASPXGridView
How to add a column if the AutoGenerateColumns property is set to true