GridViewDataBinaryImageColumn无法显示图像

时间:2017-10-30 07:43:29

标签: asp.net devexpress

我想用二进制图像列创建网格视图。源是来自数据库的图像路径。 但图像并没有出现。

<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代码有什么问题吗?感谢

1 个答案:

答案 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