3

私はjqGridの初心者です。私は、jqGrid-4.4.0を使用して、SpringMVCを使用してdb2データベースの値を表示しています。フォーマッターオプションを使用して、列の1つの値に応じて画像を表示しましたが、これも正常に機能しています。問題は、列から値を取得する代わりに、行をダブルクリックして編集すると、imagehtmlタグが取得されることです。データベースから取得した実際の値を表示するにはどうすればよいですか?

以下は私がフォーマットするために使用する機能です

function imageFormat( cellvalue, options, rowObject ){
    var img="";
    if(cellvalue==true){
        img= "<img src='"+CONTEXT_ROOT+"/images/icons/Light_Green_Round_16_n_g.gif'  BORDER='0'/>";
    }else{
        img= "<img src='"+CONTEXT_ROOT+"/images/icons/Light_Red_Round_16_n_g.gif'  BORDER='0'/>";
    }
    return img;
}

colModelで関数を呼び出しています

colModel:[
        {name:'idCasePackOptions',hidden:true,editrules:{edithidden:true, required:false}, editable:true},  
        {name:'cypharecommended',index:'cypharecommended', width:170, sorttype:"int", sortable:true, editable:true, edittype:'checkbox', editoptions: { value:"1:0" }},
        {name:'distributorapproved',index:'distributorapproved', width:170, sorttype:"int", edittype:'text', editable:true, sortable:true},
        {name:'height',index:'height', width:100, sorttype:"float", edittype:'text', editable:true,sortable:true},
        {name:'length',index:'length', width:80, align:"right",sorttype:"float", edittype:'text', editable:true, sortable:true},
        {name:'statuscode',index:'statuscode', width:90, align:"right", edittype:'text', editable:true,sorttype:"int", sortable:true, formatter:imageFormat},       
        {name:'weight',index:'weight', width:100,align:"right", edittype:'text', editable:true,sorttype:"float", sortable:true},        
        {name:'width',index:'width', width:100, editable:true, edittype:'text', sorttype:"float",sortable:true}     
    ]
4

1 に答える 1

1

使用しているカスタムフォーマッタに加えて、アンフォーマッタを宣言することもできます。これは、カスタムフォーマッターと非常によく似て定義および作成され、次の形式に従います。

function imageUnFormat( cellvalue, options, cell){
    return $('img', cell).attr('src');
}

パラメータは次のとおりです。

cellvalue-フォーマットされていない値。

オプション-行IDと列モデルを含むオブジェクト

cellobject-JQueryセルオブジェクト。

次に、フォーマッターと同じように、列モデルでそれを宣言します。

{name:'statuscode',index:'statuscode', width:90, align:"right", edittype:'text', editable:true,sorttype:"int", 
sortable:true, formatter:imageFormat, unformat:imageUnFormat}, 
于 2012-09-07T12:13:21.357 に答える