特定の列に画像を設定したいが、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>
期待される結果
。私はここで何をしないのですか? .jqGrid
の制限はありますか?
でコードの変更を見ることができます私はあなたの質問を理解していることはよく分かりません。現在のコードは、入力データ '' 7/12/2017 ''をアイコンとしてフォーマットします。 'StartRunDate'カラムのフィルタツールバーに' 7/12/2017'という文字列を入力すると、その値でフィルタリングされたデータが得られます:1行。フィルタツールバーに他の値を '7/12/2017'(例えば' 8/12/2017')とタイプしてEnterを押すと、行は表示されません。 – Oleg
@Oleg混乱して申し訳ありません。 'x'の隣に'カレンダー 'アイコンがあり、アイコンがあるところに' 7/12/2017'があります。検索は正常です。フィルタバーの横にアイコンを設定する際に問題が発生しています。私が今やっていることは、 '7/12/2017'を私が欲しくないイメージに置き換えます。 – CSharper