jqGrid zeigt Bild in der Zeile aus der Datenbank

ich versuche, um die Bilder anzuzeigen von Datensätzen in jqGrid aber es funktioniert nicht.

Jeden Datensatz in meine jqGrid hat eine id. Um die Bilder aus meiner Datenbank-Tabelle, die ich schrieb, ein ActionResult gibt eine Datei (image) gespeichert, die in der Datenbank-Tabelle zu der id.

Weil jeder Datensatz hat eine eindeutige id, ich habe ein hidden Feld in meiner Seite, wo jq speichern sollte die tatsächliche id der aktuellen Platte formatiert der Formatierer.

Wenn ich mir den code mit firebug, es scheint, dass der Weg mit der hidden-Feld nicht funktioniert.

Vielleicht haben Sie eine Idee?

Hier ist mein code:

<input type="hidden" name="cellvalue" value="" />
<script type="text/javascript">
$(function () {
    $("#PartialIndexGrid").jqGrid({
        url: '/@ViewContext.RouteData.Values["Controller"].ToString()/IndexGridData',
        datatype: 'json',
        mtype: 'POST',
        colNames: ['Details', 'Bearbeiten','Bild', 'Titel', 'Bearbeitungsort', 'Status'],
        colModel: [
              { name: 'Details', index: "Details", edittype: 'select', align: "center", width: 45, formatter: 'showlink', formatoptions: { baseLinkUrl: '/Shared/Details/', addParam: ''} },
              { name: 'Bearbeiten', index: "Bearbeiten", edittype: 'select', align: "center", width: 80, formatter: 'showlink', formatoptions: { baseLinkUrl: '/Shared/Edit/', addParam: ''} },
              { name: 'Bild', index: 'Bild', edittype: 'image', formatter: imageFormatter },
              { name: 'Titel', index: 'Titel'},
              { name: 'Bearbeitungsort', index: 'Bearbeitungsort' },
              { name: 'AuftragStatus', index: 'AuftragStatus'}
            ],
        pager: $("#PartialIndexGridpager"),
        rowNum: 10,
        rowList: [5, 10, 20, 30],
        sortname: 'Titel',
        sortorder: "asc",
        viewrecords: true,
        width: 942, 
        caption: ''
    })
});
function imageFormatter(cellvalue, options, rowObject) {
        $("cellvalue").val(cellvalue);
        return '<img src="@Url.Action("AuftragDBImage", "Shared", new { id = Request.Form["cellvalue"]})" />';
}; 

public ActionResult AuftragDBImage(Guid id)
    {
        try
        {
            var auftrag = _db.Auftrag.Where(x => x.Auftrag_GUID == id).Select(x => x).Single();
            return File(auftrag.Bild, "image/jpeg");
        }
        catch (Exception)
        {

            return File(pfaddummybild, "image/jpeg");
        }
    }

Grüße,
float

Ich habe nicht gefunden, einen hidden-Feld in das jqGrid, aber Sie schrieb: "es scheint, dass der Weg mit der hidden-Feld funktioniert nicht". Darüber hinaus die benutzerdefinierte formatter - imageFormatter sieht aus wie merkwürdig. Möglich zu machen, andere Menschen zu überprüfen Sie Ihren code, den Sie sollten erklären, welche Werte für Build coulmn hat die JSON-Antwort vom server und was für Ergebnisse sollten Sie die benutzerdefinierte formatter erzeugen.

InformationsquelleAutor float | 2011-01-27

Schreibe einen Kommentar