Jquery jqGrid中的图像列?

Jquery jqGrid中的图像列?,jquery,jqgrid,Jquery,Jqgrid,我希望在我的jQGrid中有一个图像列,我已经使用了格式化程序,但不起作用,请给我解决方案 我的代码如下: jQuery(document).ready(function() { var TheGrid ; var resp; jQuery("#registerUsers").jqGrid({ url: 'EventsList.aspx', datatype: "json",

我希望在我的jQGrid中有一个图像列,我已经使用了格式化程序,但不起作用,请给我解决方案

我的代码如下:

jQuery(document).ready(function() {
        var TheGrid ;
         var resp;
        jQuery("#registerUsers").jqGrid({
                url: 'EventsList.aspx',
                datatype: "json",
                colNames: ['Name', 'Company Name', 'Responsible Name', 'Date/Time', 'Id'],
                colModel: [{ name: 'GuestName', index: 'GuestName', width: 150, editable: true, editoptions: {readonly: true, size: 10} },
                          { name: 'CompName', index: 'CompName', width: 150, editable: false, editoptions: { readonly: true, size: 10} },
                          { name: 'RespName', index: 'RespName', width: 150, editable: false, editoptions: { readonly: true, size: 10} },
                          { name: 'RegisterDate', index: 'RegisterDate', width: 150, editable: false, editoptions: { readonly: true, size: 10} },
                          { name: 'Register_Id', index: 'Register_Id', width: 100, align: 'left', formatter: checkboxFormatter },
                        ],
                rowNum: 10,
                rowList: [10, 20, 30],
                pager: jQuery('#Userpager'),
                sortname: 'Register_Id',
                viewrecords: true,
                sortorder: "desc",
                imgpath: '/scripts/themes/steel/images',
                caption: "Registered Users"
            });
        });
        jQuery("#registerUsers").jqGrid('navGrid', '#Userpager', { edit: false, add: false, del: false });

  function checkboxFormatter(el, cval, opts) {
            debugger;
            cval = cval + ""; cval = cval.toLowerCase();
            //          var bchk = cval.search(/(false|0|no|off|n)/i) < 0 ? " checked=\"checked\"" : ""; 
            var UserId = jQuery("#registerUsers").getCell(RowId, 'Register_Id');
            $(el).html("<center><img src='../images/gnome-session-logout.png' width='15px' height='15px'  onclick=javascript:LogOutUser(" + UserId + ");/></center>");
            //          <input type='checkbox' onclick=\"ajaxSave('" + opts.rowId + "', this);\" " + bchk + " value='" + cval + "' offval='no' />



        } 
请帮帮我

多谢各位 有关在单元格中显示图像的说明,请参阅


基本上,您可能需要从src元素中删除引号。

您可以在格式化程序中以字符串形式返回img标记,例如:

function  unitsInStockFormatter(cellvalue, options, rowObject) {
    var cellValueInt = parseInt(cellvalue);
    if (cellValueInt > 10)
      return "<img src='../../Content/images/ui-flag_green.png' alt='" + cellvalue + "'title='" + cellvalue + "' />";
    else if (cellValueInt > 0)
      return "<img src='../../Content/images/ui-flag_blue.png' alt='" + cellvalue + "'title='" + cellvalue + "' />";
    else
      return "<img src='../../Content/images/ui-flag_red.png' alt='" + cellvalue + "'title='" + cellvalue + "' />";
  }; 
如下所述:

可以直接从查询中得出一个简单的解决方案:

从表中选择idres,'HTML-IMG-SRC=images/tick| | | | | | | | |.png'作为保留、indate、outdate;-查询博士后

其中reserved为0或1,并反映在图像文件名tick_1.png或tick_0.png中,具体取决于字段的“reserved”值

希望能有所帮助

我找到了这个解决方案

如果在页面中通过插入脚本和样式表仅包含表格,并且在包含grid.php页面后,可以通过以下方式格式化单元格以显示图像:

$IMAGE_FORMAT_STRING = <<<IMAGE_FORMAT_FUNCTION
function formatImage(cellValue, options, rowObject) {
    var imageHtml = "";
    if(cellValue){
        if(cellValue.indexOf("_thumb") == -1){
            imageHtml = '<div><a href="' + cellValue + '" title="" target="_blank">' + cellValue + '</a></div>';    
        }else{
            imageHtml = '<div class="gallery"><a href="' + cellValue.replace('_thumb', '') + '" title=""><img src="' + cellValue + '" width="50" height="50" alt="" border="0"/></a></div>';
        }
    }
    return imageHtml;
}
function unformatImage(cellValue, options, cellObject) {
    return $(cellObject.html()).attr("originalValue");
}
IMAGE_FORMAT_FUNCTION;
$grid->setJSCode($IMAGE_FORMAT_STRING);
将以下代码放入grid.php中:

$grid->setColProperty("COLUMN NAME", array("formatter"=>"js:formatImage"));
然后,输入一个字符串变量,formatImage函数的java脚本如下:

$IMAGE_FORMAT_STRING = <<<IMAGE_FORMAT_FUNCTION
function formatImage(cellValue, options, rowObject) {
    var imageHtml = "";
    if(cellValue){
        if(cellValue.indexOf("_thumb") == -1){
            imageHtml = '<div><a href="' + cellValue + '" title="" target="_blank">' + cellValue + '</a></div>';    
        }else{
            imageHtml = '<div class="gallery"><a href="' + cellValue.replace('_thumb', '') + '" title=""><img src="' + cellValue + '" width="50" height="50" alt="" border="0"/></a></div>';
        }
    }
    return imageHtml;
}
function unformatImage(cellValue, options, cellObject) {
    return $(cellObject.html()).attr("originalValue");
}
IMAGE_FORMAT_FUNCTION;
$grid->setJSCode($IMAGE_FORMAT_STRING);

我希望它能帮助别人

运行代码时会发生什么?