2017-07-18 74 views
0

特定の列に画像を設定したいが、formatterを使用して設定すると、期待した結果が得られない。画像がデータをオーバーライドしています。次xしたいカレンダーのアイコン: .jqGridのフィルタバーの横に画像を設定する

$(function() { 
 
    "use strict"; 
 
    
 
    $("#myDialogBox").dialog({ 
 
    autoOpen: false 
 
    }); 
 
    
 
    $("#grid").jqGrid({ 
 
    colModel: [ 
 
    { name: "BatchID", label: "Batch ID", align: "center"}, 
 
    { name: "Status", label: "Status", align: "center", formatter: "select", 
 
     formatoptions: { value: "CAN:Canceled; COM:Completed; PEN:Pending", defaultValue: "PEN" }, 
 
     stype: "select", searchoptions: { value: ":Pending;CAN:Canceled; COM:Completed"} }, 
 
    { name: "StartRunDate", label: "Start Run Date", align: "center", sorttype:"date", 
 
     formatter: function() { return "<img src='http://jqueryui.com/resources/demos/datepicker/images/calendar.gif' alt='calendar' />"; }, 
 
     formatoptions: { newformat: "d-M-Y" } }, 
 
    { name: "StartRunTime", label: "Start Run Time", align: "center", sorttype:"time", formatter: "time" }, 
 
    { name: "EndRunDate", label: "End Run Date", align: "center", editable:true, sorttype:"date" }, 
 
    { name: "EndRunTime", label: "End RunTime", align: "center", editable:true, sorttype:"time" }, 
 
    { name: "Action", label: "Action", align: "center", formatter: "showlink"}, 
 
    { name: "JobID", label: "Job ID", align: "center" }, 
 
    { name: "JobName", label: "Job Name", align: "center"}, 
 
    { name: "ConceptName", label: "Concept Name", align: "center" }, 
 
    { name: "StartDate", label: "Start Date", align: "center" }, 
 
    { name: "EndDate", label: "End Date", align: "center" }, 
 
    { name: "Frequency", label: "Frequency", align: "center", 
 
     \t formatter: "select", 
 
     formatoptions: { value: "ALL:All; DAI:Daily; WEK:Weekly", defaultValue: "ALL" }, 
 
     stype: "select", 
 
     searchoptions: { value: ":All; DAI:Daily; WEK:Weekly" } }, 
 
    { name: "QueryLink", label: "Query Link", align: "center", 
 
     formatter: function() { return '<button class="popup-trigger">Pop Up</button>' } }, 
 
    { name: "Submitter", label: "Submitter", align: "center"} 
 
    ], 
 
    data: [ 
 
    { BatchID: "1", Status: "Pending", StartRunDate: "7/12/2017", StartRunTime:"12:00", EndRunDate: "7/12/2017", 
 
     EndRunTime:"1:00", Action: "Cancel Delivery", JobID: "123", JobName: "Test", ConceptName: "CPK", StartDate: "7/12/2017", EndDate: "7/12/2017", Frequency: "All", QueryLink: "Link", Submitter: "John Doe" 
 
    }], 
 
    iconSet: "fontAwesome", 
 
    rownumbers: true, 
 
    sortname: "invdate", 
 
    sortorder: "desc", 
 
    caption: ".jqGrid Test" 
 
    }).jqGrid('filterToolbar', {autoSearch: true}).on('click', '.popup-trigger', function() { 
 
    $("#myDialogBox").dialog("open"); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.13.6/js/jquery.jqgrid.min.js"></script> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.14.0/css/ui.jqgrid.min.css" rel="stylesheet"/> 
 
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css" rel="stylesheet"/> 
 

 
<table id="grid"></table> 
 
<div id="myDialogBox" title="Basic dialog"></div>

期待される結果

enter image description here

私はここで何をしないのですか? .jqGridの制限はありますか?

+0

でコードの変更を見ることができます私はあなたの質問を理解していることはよく分かりません。現在のコードは、入力データ '' 7/12/2017 ''をアイコンとしてフォーマットします。 'StartRunDate'カラムのフィルタツールバーに' 7/12/2017'という文字列を入力すると、その値でフィルタリングされたデータが得られます:1行。フィルタツールバーに他の値を '7/12/2017'(例えば' 8/12/2017')とタイプしてEnterを押すと、行は表示されません。 – Oleg

+0

@Oleg混乱して申し訳ありません。 'x'の隣に'カレンダー 'アイコンがあり、アイコンがあるところに' 7/12/2017'があります。検索は正常です。フィルタバーの横にアイコンを設定する際に問題が発生しています。私が今やっていることは、 '7/12/2017'を私が欲しくないイメージに置き換えます。 – CSharper

答えて

1

私はあなたが望むものを正しく理解しているかどうかはわかりません。あなたには、いくつかのStartRunDatecolModelの変化や小さな追加のCSSルール

$(function() { 
 
    "use strict"; 
 
    
 
    $("#myDialogBox").dialog({ 
 
    autoOpen: false 
 
    }); 
 
    
 
    $("#grid").jqGrid({ 
 
    colModel: [ 
 
    { name: "BatchID", label: "Batch ID", align: "center"}, 
 
    { name: "Status", label: "Status", align: "center", formatter: "select", 
 
     formatoptions: { value: "CAN:Canceled; COM:Completed; PEN:Pending", defaultValue: "PEN" }, 
 
     stype: "select", searchoptions: { value: ":Pending;CAN:Canceled; COM:Completed"} }, 
 
    { name: "StartRunDate", label: "Start Run Date", align: "center", sorttype:"date", 
 
     formatter: function (cellval, opions, rawdata, act) { 
 
      return $.fn.fmatter.call(this, "date", cellval, opions, rawdata, act) + 
 
"&nbsp;<img src='https://jqueryui.com/resources/demos/datepicker/images/calendar.gif' alt='calendar' style='display:inline-block;vertical-align: middle;' />"; }, 
 
     formatoptions: { srcformat: "m/d/Y" }, 
 
     searchoptions: { 
 
      sopt: ["eq", "ne", "lt", "le", "gt", "ge"], 
 
      attr: { 
 
       placeholder: "m/d/yyyy", 
 
       style: "width: 110px; display: inline-block;" 
 
      }, 
 
      dataInit: function (elem, options) { 
 
       $(elem).datepicker({ 
 
        showOn: "button", 
 
        buttonImage: "https://jqueryui.com/resources/demos/datepicker/images/calendar.gif", 
 
      buttonImageOnly: true 
 
       }); 
 
      } 
 
     } }, 
 
    { name: "StartRunTime", label: "Start Run Time", align: "center", sorttype:"time", formatter: "time" }, 
 
    { name: "EndRunDate", label: "End Run Date", align: "center", editable:true, sorttype:"date" }, 
 
    { name: "EndRunTime", label: "End RunTime", align: "center", editable:true, sorttype:"time" }, 
 
    { name: "Action", label: "Action", align: "center", formatter: "showlink"}, 
 
    { name: "JobID", label: "Job ID", align: "center" }, 
 
    { name: "JobName", label: "Job Name", align: "center"}, 
 
    { name: "ConceptName", label: "Concept Name", align: "center" }, 
 
    { name: "StartDate", label: "Start Date", align: "center" }, 
 
    { name: "EndDate", label: "End Date", align: "center" }, 
 
    { name: "Frequency", label: "Frequency", align: "center", 
 
     \t formatter: "select", 
 
     formatoptions: { value: "ALL:All; DAI:Daily; WEK:Weekly", defaultValue: "ALL" }, 
 
     stype: "select", 
 
     searchoptions: { value: ":All; DAI:Daily; WEK:Weekly" } }, 
 
    { name: "QueryLink", label: "Query Link", align: "center", 
 
     formatter: function() { return '<button class="popup-trigger">Pop Up</button>' } }, 
 
    { name: "Submitter", label: "Submitter", align: "center"} 
 
    ], 
 
    data: [ 
 
    { BatchID: "1", Status: "Pending", StartRunDate: "7/12/2017", StartRunTime:"12:00", EndRunDate: "7/12/2017", 
 
     EndRunTime:"1:00", Action: "Cancel Delivery", JobID: "123", JobName: "Test", ConceptName: "CPK", StartDate: "7/12/2017", EndDate: "7/12/2017", Frequency: "All", QueryLink: "Link", Submitter: "John Doe" 
 
    }], 
 
    iconSet: "fontAwesome", 
 
    rownumbers: true, 
 
    sortname: "invdate", 
 
    sortorder: "desc", 
 
    caption: ".jqGrid Test" 
 
    }).jqGrid('filterToolbar', {autoSearch: true}).on('click', '.popup-trigger', function() { 
 
    $("#myDialogBox").dialog("open"); 
 
    }); 
 
});
.ui-search-input img.ui-datepicker-trigger { 
 
    display: inline-block; 
 
    vertical-align: middle; 
 
    margin-bottom: 1px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.14.1/jquery.jqgrid.min.js"></script> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.14.1/css/ui.jqgrid.min.css" rel="stylesheet"/> 
 
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css" rel="stylesheet"/> 
 

 
<table id="grid"></table> 
 
<div id="myDialogBox" title="Basic dialog"></div>

+0

これは非常に役に立ちます。私はあなたのコードを少し変更して、望みの結果を得ました。 [This](https://jsfiddle.net/gunjan_prmr/153xxhL9/)は私が探していたものです。混乱させて申し訳ありません。 – CSharper

+0

@CSharper:ようこそ! – Oleg

関連する問題