2017-10-30 2 views
0

Ich möchte Rasteransicht mit binärer Bildspalte erstellen. Die Quelle ist ein Bildpfad von der Datenbank. Aber das Bild erscheint nicht.GridViewDataBinaryImageColumn Kann Bild nicht anzeigen

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

Gibt es einen Fehler mit meinem ASP-Code? Dank

+0

Können Sie zeigen komplette 'GridView' Markup (und mögliche Seite Code-Behind)? Ich denke, dass dieses Problem von automatisch generierten Spalten verursacht werden kann. –

Antwort

1

GridViewDataBinaryImageColumn documentation Bemerkungen Abschnitt sagte dazu:

Die ASPxGridView nicht automatisch erzeugen binäre Bildspalten (vorausgesetzt, dass die ASPxGridView.AutoGenerateColumns Option ist aktiviert). Sie sollten die Binärbildspalte manuell erstellen und an ein Datenfeld binden, das Bilder im Binärformat enthält.

können Sie GridViewDataBinaryImageColumn erstellen manuell durch AutoGeneratedColumns="False" in GridView Markup Einstellung:

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); 
} 
:

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

oder manuell durch den Code hinter DataBound Ereignis erstellen, wenn Sie AutoGeneratedColumns gesetzt, wie wahr behalten wollen

In Verbindung stehende Probleme:

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