I*m looking for a way to set date toolbar search field width on autoresize.
I tried code from
How to make html5 date field in search toolbar to respect column width
comment:
var serverResponse = {
"page": "1",
"records": "3",
"rows": [
{ "Id": "1", IsActive: "2015-01-09" },
{ "Id": "2", IsActive: "2015-01-05" },
{ "Id": "3", IsActive: "2015-01-21" }
]
},
dateTemplate = {
sorttype: "date",
formatter: "date",
formatoptions: {
srcformat: "Y-m-d",
reformatAfterEdit: true
},
autoResizing: { minColWidth: 50 },
autoResizable: true,
width: 100,
editoptions: {
maxlength: 10,
size: 10
},
editable: true,
searchoptions: {
sopt: ["eq", "ne", "lt", "le", "gt", "ge"],
size: 10,
clearSearch: false,
attr: { size: 10, type: "date", style: "width:11em;" }
}
},
$grid = $("#categorysummary");
$grid.jqGrid({
url: "/echo/json/",
datatype: "json",
mtype: "POST",
postData: {
json: JSON.stringify(serverResponse)
},
colNames: ["Active", "Second"],
colModel: [
{ name: "IsActive", template: dateTemplate },
{ name: "Second", width: 85 }
],
resizeStop: function (newWidth, iCol) {
var colModel = $(this).jqGrid("getGridParam", "colModel");
if ($("#gs_" + $.jgrid.jqID(colModel[iCol].name)).attr("type") === "date") {
$("#gs_IsActive").width(newWidth - 7); // - padding
}
},
jsonReader: {
id: "Id",
repeatitems: false
},
viewrecords: true
}).jqGrid("filterToolbar");
$(".ui-search-table input[type=date]").each(function() {
$(this).css("width", $(this).closest("th.ui-th-column").width() + "px");
});
css:
<div class="container">
<table id="categorysummary"></table>
</div>
See fiddle http://jsfiddle.net/10qwgejj/13/
After double clicking in column separator line in Active column header search element with is too big and column border disappears from search toolbar.
To set search field width on autoresize ?
Andrus.
I implemented (see the commit) new callback
afterResizeDblClick
and new event jqGridAfterResizeDblClick, which makes the solution very easy.It uses the following code
See the demo http://jsfiddle.net/OlegKi/10qwgejj/14/