The calendar icon is not displayed in the built-in editing mode. I am using jquery.ui.datepicker.js
HTML
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Jquery Grid</title> <link rel="stylesheet" type="text/css" media="screen" href="themes/redmond/jquery-ui-1.8.1.custom.css" /> <link rel="stylesheet" type="text/css" media="screen" href="themes/ui.jqgrid.css" /> <link rel="stylesheet" type="text/css" media="screen" href="themes/ui.multiselect.css" /> <script src="js/jquery-1.6.4.js" type="text/javascript"></script> <script src="js/jquery-ui-1.8.14.custom.min.js" type="text/javascript"></script> <script src="js/jquery.layout.js" type="text/javascript"></script> <script src="js/i18n/grid.locale-en.js" type="text/javascript"></script> <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> <script src="js/jquery.corner.js" type="text/javascript"></script> <script src="plugins/ui.multiselect.js" type="text/javascript"></script> <script src="plugins/jquery.tablednd.js" type="text/javascript"></script> <script src="plugins/jquery.contextmenu.js" type="text/javascript"></script> <script src="js/jquery.ui.datepicker.js" type="text/javascript"></script> </head> <body> <div id="content"> <div class="userinfo"> <table id="myjqgrid"></table> <div id="Pager"></div> <script src="js/myjqgrid.js" type="text/javascript"></script> </div> </div> </body> </html>
Json
{ "colModel": [ { "name": "ID", "label": "ID", "width": 60, "align": "left", "jsonmap": "cells.0.value", "sortable": true }, { "name": "FirstName", "label": "FirstName", "width": 100, "align": "left", "jsonmap": "cells.1.value", "sortable": false }, { "name": "LastName", "label": "LastName", "width": 100, "align": "left", "jsonmap": "cells.2.value", "sortable": false }, { "name": "Date", "label": "Date", "width": 100, "align": "left", "jsonmap": "cells.3.value", "sortable": false } ], "colNames": [ "ID", "FirstName", "LastName", "Date" ], "mypage": { "outerwrapper": { "page":"1", "total":"1", "records":"20", "innerwrapper": { "rows":[ { "id":"1", "cells": [ { "value":"12345", "label": "ID", "editable": false }, { "value":"David", "label": "FirstName", "editable": false }, { "value":"Smith", "label": "LastName", "editable": false }, { "value":"01/02/2012", "label": "Date", "editable": true, "editformat": "text" } ] }, { "id":"2", "cells": [ { "value":"37546", "label": "ID", "editable": false }, { "value":"Willy", "label": "FirstName", "editable": false }, { "value":"Peacock", "label": "LastName", "editable": false }, { "value":"01/02/2012", "label": "Date", "editable": true, "editformat": "text" } ] } ] } } } }
JQGrid Definition
$(document).ready(function () { var serverData = []; var showCalImg = function(id){ $("#" + id + "_date").datepicker({ showOn: 'button', buttonImageOnly: true, dateFormat: 'mmddyy', buttonImage: 'images/calendar.gif' }); } $.ajax({ type: "GET", url: "myjqgrid.json", data: "", dataType: "json", success: function(response){ var columnData = response.mypage.outerwrapper, columnNames = response.colNames, columnModel = response.colModel; $("#myjqgrid").jqGrid({ datatype: 'jsonstring', datastr: columnData, colNames: columnNames, colModel: columnModel, jsonReader: { root: "innerwrapper.rows", repeatitems: false }, gridview: true, pager: "#Pager", rowNum: 21, rowList: [21], viewrecords: true, recordpos: 'left', multiboxonly: true, multiselect: true, sortname: 'ID', sortorder: "desc", sorttype: "text", sortable: true, caption: "<h2>MY JQGRID</h2>", width: "1406", height: "100%", scrolloffset: 0, loadonce: true, cache: true, onSelectRow: function(id) { $("table#myjqgrid").editRow(id, true, showCalImg); }, loadComplete: function(){ var rowCounter, cellCounter, cellProperty, itemRows; for (rowCounter = 0; rowCounter < response.mypage.outerwrapper.innerwrapper.rows.length; rowCounter++) { itemRows = response.mypage.outerwrapper.innerwrapper.rows[rowCounter]; serverData[itemRows.recordnbr] = itemRows.cells; var cellCount = response.mypage.outerwrapper.innerwrapper.rows[rowCounter].cells.length; for (cellCounter = 0; cellCounter < cellCount; cellCounter += 1) { cellProperty = response.mypage.outerwrapper.innerwrapper.rows[rowCounter].cells[cellCounter]; var isEditable = cellProperty.editable; var cellEditFormat = cellProperty.editformat; if (isEditable === false) { $("#myjqgrid").setColProp(cellProperty.label, { editable: false }); }else{ if (isEditable === true) { $("#myjqgrid").setColProp(cellProperty.label, { editable: true, edittype: cellProperty.editformat, editoptions: { size: cellProperty.size, maxlength: cellProperty.maxlength } }); } } } } } }); $("#myjqgrid").jqGrid('navGrid','#Pager', {add:false, edit:false, del:false, position: 'right'}); } }); });