You use wrong options of navGrid. If you examine the documentation you will see that the position of the parameters which you use is wrong. The correct will be $("#prodgrid").jqGrid('navGrid', '#pager', {add: false, del: false, search: false}, {closeAfterEdit: true, width: 1000}, {closeAfterAdd: true, width: 1000}); (you can skip edit: true...

You send it as a URL parameter. Change: url: '@Url.Action("Index", "AddSMS")', to url: '@Url.Action("Index", "AddSMS")' + '?cbChecked=' + $("input.myMultiSearch").is(":checked"), Then you should be able to update Index in your AddSMS controller to: public ActionResult Index(long[] selrow, bool cbChecked) { if (cbChecked) { //this should run if the checkbox has been...

If you would use free jqGrid then the solution would be very easy. One can specify function as the value of editable property. So you can specify callback function which inform jqGrid which cells of the columns will be editable and which not. See the article for details.

You don't posted enough details about what you do, but I guess that adding formatter: "select" to the column should solve the problem. The usage of async call in the formatter is absolutely wrong way. If you set already editoptions.value then formatter: "select" will uses the information and will decode...

You can use onclick='OpenDialog.call(this, event)' instead of onclick='OpenDialog()'. You will have this inside of OpenDialog initialized to the clicked <button> and the event.target. Thus your code could be like the following function OpenDialog (e) { var rowid = $(this).closest("tr.jqgrow").attr("id"), $grid = $(this).closest(".ui-jqgrid-btable"), basicId = $grid.jqGrid("getCell", rowid, "BasicId"); // ... e.stopPropagation();...

The problem exist because jqGrid generate the code like parseFloat(01) (for formatter: "float" and formatter: "number") or parseInt(01, 10) (for formatter: "integer") if one enter 01 in the searching field. I fixed the bug (see the commit) in free jqGrid. You can try the latest code directly from GitHub if...

The option sorttype will be used by jqGrid only during local sorting. If you use datatype: "json" without loadonce: true then jqGrid just desplays one page of data sorted on the server side. If the user clicks on new page button or on the column header to sort the column...

Only by chance I found the source of jqGrid 3.5.3 in my archive. The retro version of jqGrid don't get any values from searchoptions.value at all. I'd recommend you to insert <option value="">All</option> manually in the select after the filter toolbar is created. The corresponding code could be $("#gs_Active") .prepend("<option...

You can use setCell to modify the cell with icons. It calls internally the formatter of the cell to generate HTML fragment which will be set in the grid. So you need just use the same format of data setCell for its 3-d parameter like you use in the input...

Perhaps something that is a bit more jQuery-driven instead of CSS-driven, so that you do not need to rely on the browser support of the CSS properties / selectors: var $grid = $('#' + grid); $grid .find('tr') .eq(2) .find('td.table_view_tablet') .each(function(){ var $self = $(this); $grid.jqGrid('hideCol',[ $self.attr('aria-describedby').split('_')[2] ]); }); Without your...

beforeSearch and afterSearch are callback functions of filterToolbar method and not the grid itself. So you should use there in the following way .jqGrid('filterToolbar', { stringResult: true, searchOnEnter: true, defaultSearch: "cn", beforeSearch: function () { alert('Filter Started'); }, afterSearch: function () { alert('Filter Complete'); } }); See the modified demo...

All texts which you see in the grid can be localized. The corresponding templates come from grid.locale-XX.js files. You can open grid.locale-en.js file for example and search for page. You will find the property pgtext: "Page {0} of {1}" inside of defaults part ($.jgrid.defaults). The defaults settings are just the...

The most easy way to implement the requirement would be to use free jqGrid. It's the fork (based on jqGrid 4.7) which I develop currently. Because of such requirements I implemented the feature described in the wiki article. It allows to define editable property as function. So you need just...

The reason of the problem: you called setFrozenColumns twice. The second call some destroys internal structures. If I skip in the debugger the second call of setFrozenColumns then inline editing starts to work. I posted just now the changes which will ignore the second call of setFrozenColumns. Nevertheless I strictly...

The reason is new option hideEmptyPagerParts of navGrid. It will be set to true by default. The option allows to save place in pager. The pager consist typically from parts: left, center and right. All what the option hideEmptyPagerParts: true do is examining of the parts and calling .hide() to...

I made some changes in the code of working with frozen columns in free jqGrid. I hope that the problem is fixed now. UPDATED: I examined your code and could find the reason. It's very easy: you create frozen columns by call of setFrozenColumns before creating of filter toolbar by...

It's unclear from the wiki, but frozen columns cannot be edited (including by the setCell function.) This can be handled by unfreezing the columns, setting the cell value, then freezing them again at the end of your 'click' event: $('#SetGrid2').on('click', function(){ jQuery('#sg2').jqGrid('destroyFrozenColumns'); var cell = jQuery("#sg2").jqGrid('setCell', 1, 'name', 'Updated'); jQuery('#sg2').jqGrid('setFrozenColumns');...

You don't wrote which version of jqGrid you use currently, but dataUrl can be defined as callback function with (rowid, value, name) parameters, which have to return the URL which you can build dynamically based on the information. The feature exist starting with v4.5.3 (see the line). You can use...

It's a little difficult to understand your question because you display some abstract numbers only. I understand you so. You make grouping by cpv filed, but you need to display another field cpvParent which can be get based on the cpv value. One need just to have a map which...

I'm not sure which is the id of the grid which you use: "editmodgridtable" or "gridtable". You should bind "jqGridAddEditAfterShowForm", "jqGridAddEditAfterClickPgButtons" or "jqGridLoadComplete" directly. It's event not important when you make the binding. The table of the main grid (<table id="gridtable"></table>) should just exist before binding. So the correct code...

Apparently there is a bug in Doctrine when its connecting to SQL Server. When I connected the same project to a PostgreSQL Server, everything worked fine. UPDATE: The bug is not with Doctrine. When I connect plain Doctrine with plain SQL without any datagrid bundles the weird alias is gone....

The call var rowKey = grid.getGridParam('selrow'); (where var grid = $("#gridname");) can set the variable rowKey to null in two cases: You execute the code before jqGrid is created from the empty table <table id="gridname"></table>. You will have almost the same results if there are no element with id="gridname" at...

All the features are enabled by default if I understand you correctly. The server just have to return all data instead of one page of data to make loadonce: true property work correctly. You need just call filterToolbar after creating the grid. All will work like with local data. You...

What you want is not easy. You will have to change the operations in operation menu in every searching field. Moreover you will have to add first of all have to add searchoptions: { sopt: ['cn', 'nc']} options in all columns, because currently there are many fields which have no...

jqGrid creates some outer divs over the main table element. The method gridResize uses jQuery UI Resizable on the most outer div, so named gbox. Thus you can register resizable event resizestop on the gbox to detect the end of resizing. The corresponding code will looks like the following: ......

The code which you posted have many problems. First of all you inserted jquery-1.11.3.js, then jqueryui/1.8.13/jquery-ui.min.js and then jqueryui/1.7.2/jquery-ui.js. Including of multiple versions of JavaScript libraries on one page can break functionality of the included library. You hove to remove the old jQuery UI 1.7.2. I should include multiple document.ready...

It's definitively wrong to use key: true for more as one column. It break rowids. The id values of rows must have unique value over the HTML page. I recommend you to verify whether jsonReader which you use really corresponds the input data which you use. It looks suspected. If...

I figured out the solution: Step 1: Add datepicker javascript to head tag... after the sj:head tag. <script type="text/javascript" src="javascript/jquery.ui.datepicker.min.js"></script> Step 2: Create a function that will be called from the sjg:gridColumn tag. searchDatePick=function(element) { $(element).datepicker(); }; Step 3: Add the searchoption property to your sjg:gridColumn tag. Reference the variable...

One can use rowattr or cellattr to set CSS class on the row or on cells which makes blinking. See the answer about blinking, the answer about the usage of rowattr and the answer about the usage of cellattr.

It seems to me that you have to change your code a little. You should always test that you call $.jgrid.getCellIndex with DOM of <td> element and not with some other children of it. The code fragment of typical usage of $.jgrid.getCellIndex should be the following: var $td = $(e.target).closest("tr.jqgrow>td");...

The reason is very easy. The property jsonmap will be ignored in case of usage datatype: "local" in jqGrid 4.6. I changed the behavior in free jqGrid (see the wiki). So one possible solution will be to use free jqGrid 4.8 or higher instead of jqGrid 4.6. One more simple...

The text of the tooltip come from title attribute of an element. So to change it dynamically you should use something like $("#refresh_gridtable").attr("title", "Refresh"); It's important of case that you execute the code after the grid and the navigator bar is already created. By the way there are exist refreshtitle...

In general you should prefer to modify only small number of rows. If you modify one row then the web browser have to recalculate position of all other rows (500 rows) of the grid. In the case modifying 300 rows means 300*500 operations for the web browser. If you fill...

The structure of the pager is table oriented and very hard coded in jqGrid 4.6. The setting vertical-align will be not really help you because it's inside of deep hierarchy of other dives and cells which will be not vertically centered and some from there have fixed coded height in...

You don't posted the most important part of your code: colModel. At least the definition of the column which should be "fixed" is important to know. The column which should have fixed width should have fixed: true property. It will prevent its width from changing. UPDATED: I'm still not sure...

You don't use hidden: true property of volume column. So the setting $('#tr_volume',form).show() is unneeded. The setting of $("#tr_volume",form).val('1') is wrong, because the <tr> element have no value. I think that you need jusu use $("#volume",form).val('1') or $("#volume").val('1') instead. The <input> field with the id="volume" (the same id like the...

I got an answer of this.. On jqgrid's ondblClickRow event I set a title attribute to popup textbox as below. txtremark.value = $(tr).find('td[aria-describedy="Remarks"]').attr('title'); Then, on Ok button click event i reload jqgrid, and after that on LoadComplete event again I set attribute of title and also set html of...

You are not the first person who have the problem. During answering on the question I had the idea how to modify the code of jqGrid and to introduce isInTheSameGroup callback function which can be used to specify which items should be interpreted as identical. For example the most common...

First of all the it's well-known problem with COUNT(*). If one need to get just the number of rows of some specific table of the database then one can get the information very easy and very quickly SELECT rows FROM sys.partitions WHERE index_id IN (0, 1) AND object_id = OBJECT_ID('dbo.Tablename')...

DisplayTag is quite old now, latest version is from 2008; If you can (eg. if you are NOT adding functionalities to an existing, huge legacy project, but instead you are at the beginning and/or starting a new project right now), I suggest you to invest some time and study jqGrid,...

Server side validation is the part of saving the changes. The server get the modified data and it can send back HTTP response with some error HTTP code (some value higher or equal to 400). One can include the description of the error in the body of the HTTP response....

One can specify searchoptions: {clearSearch: false} in colModel for the specific column. It removes the x button from the filter bar for the corresponding column. I suppose that you should specify the option like any other search option inside of <sjg:gridColumn> (see the documentation).

In the most scenarios you can just add page: number parameter to the grid during creating it (like page: 2 for example): $("#grid").jqGrid(..., page: number, ...);. One can require to reloadthe grid only if one would fill the grid in the wrong way (using addRowData in the loop).

If you need to remove inline CSS style width you can use call like .css("width", "");, but I don't think that it's the problem which you have. I think that what you really need to do is to apply the class hidden-xs on the corresponding cell of the first row...

The current implementation of bindKeys method come unchanged from jqGrid 4.7. The code don't support data grouping like some other jqGrid options (multiselect: true for example). The code just goes to the next sibling row, get its id (which is empty) and try to select the row with empty id....

You don't provided a working demo, but I hope that I still understand you correctly. I think that you want to change the value of not-editable columns POD_UnitCost and POD_ExtCost on selection of the value in the jQuery UI Autocomplete control in editable POD_VendorDiscount. The value of another editable columns...

The main problems in your current code is the following: you specify callback with reloadGrid only for one direct call of editRow. On the other side you use inlineNav which have two other calls of editRow: one on click on Edit button and another on click on Add button. You...

Thank you for the bug report! After long debugging I found and fixed the bug. Your demo uses the latest sources from GitHub directly. So the the last changes are applied to the demo too. You can verify that it displays now the correct results. UPDATED: I implemented more fixes...

JSON don't support serialization of functions. So the functions from searchoptions.dataInit, searchoptions.buildSelect and all other which you use in colModel will be discarded after you use JSON.stringify. It's important to know which version of jqGrid/free jqGrid or Guriddo jqGrid JS you use. Starting with jqGrid 4.7 one can define template...

The combination datatype: "local" and remote editing editurl seems me strange. I would recommend you to add reloadAfterSubmit: false option to both Add and Edit settings. It will prevent default reloading the grid....

It seems to me that you try to add a lot of data without local paging. It have not real sense, it's slow and the user will do have to scroll below to see the data. It's much more effective to use small rowNum value, which specify the size of...

It seems to me that main problem in your code is the usage of formatoptions:{srcformat: "U/1000"} in your code. Such property can format the code, but it will save the original values of date in the local grid data. Later you try to use jQuery UI Datepicker and it have...

Thank you for the bug report! I made today the changes to fix problems in IE8, reported in the issue. I used the post as the basis for the changes, but I tested my changes only in IE10 and not in Chrome. The problem is that typeof HTMLElement is "function"...

First of all you need additionally add formatter: "select" and to populate ID values in Seats column during filling of the grid. The formatter: "select" will decode the IDs and the corresponding Name value will be displayed to the user. If you would use more recent version of jqGrid the...

You don't posted the server side code or at least the definition of GetGridData. Moreover you should always include information about the version of jqGrid which you use. I suppose that you use ASMX-WebMethod. In the case you should include the following parameters gridview: true, autoencode: true, ajaxGridOptions: { contentType:...

It's really easy to do. You should just understand that the code for creating jqGrid look like $("#gridid").jqGrid(objectWithGridOptions); One use mostly anonymous inline object initialization like $("#gridid").jqGrid({ // ... some options }); but it do nothing more as var objectWithGridOptions = { // ... some options }; $("#gridid").jqGrid(objectWithGridOptions); So if...

I wrote the demo which you reference many year ago for the answer. One can't expect that old versions of jQuery, jQuery UI and jqGrid will work forever. If one just replace jQuery, jQuery UI to the current one and to use jqGrid 4.6 then the demo will better work,...

The corresponding CSS rules can be the following .ui-jqgrid .ui-search-toolbar .ui-search-table { font-size: 1.2em; } .ui-jqgrid .ui-search-toolbar input, .ui-jqgrid .ui-search-toolbar select { font-size: 1.2em; } The first rule set the font size of searching operations and the clear character ("x") and the second rule set the font size of the...

I don't use struts2 myself. I suppose that the id of the grid is "gridtable". I suggest you to use jQuery events instead of callbacks. You need just to use jQuery.bind. The most callbacks have the corresponding jQuery events which exist in jqGrid starting with version 4.3.2. The most difference...

What I mean is the usage of the settings for inline editing or cell editing only. You will have no changes in form editing. So the CSS rule could be like .jqgrow > td input.editable, .jqgrow > td select.editable, .jqgrow > td textarea.editable { height: auto; width: 100%; font-size: 1em;...

Search for $(function() { in your code. It's the same as $(document).ready(function() {, but you have included the block $(function() { inside of $(document).ready(function() {. You should remove $(function() { (see near to the place where you creates the jqGrid).

I posted just now the changes which fixes the calculation of grid width in case when vertical scroll bar exists. Now the JSFiddle demo which you posted works correctly. You should post more clear question in the future (with the clear description of the problem) and you should don't post...

The formatter will be called with 3 parameters cellValue, options and rowData and this initialized to DOM of the grid. To get grid id you can use this.id or options.gid. In case of usage unformat callback the option contains less properties, but one can still use this.id.

The old version of jqGrid (jqGrid 4.3.2, which you use) provides no possibility to get filtered data. So you have to upgrade to free jqGrid and just use $("#gridSourceKey").jqGrid('getGridParam', 'lastSelectedData') instead of $("#gridSourceKey").jqGrid('getGridParam', 'data') Only if you really can't update jqGrid which you use then you should follow the tricky...

I can suggest you two alternatives: the server code (responsible for the URL ControllerName/MethodName) can place HTTP caching header. For example Cache-Control: private, max-age=(time in seconds). It will force getting the data during specified time interval from the local web browser cache. You can make Ajax request to ControllerName/MethodName separately...

Try to use .ui-jqgrid .ui-jqdialog { font-size: 16px; } to increase/change the font size of the body of the edit dialogs (and other dialogs of jqGrid). If you want don't change the font of buttons of the dialog form and need to set the font only on the top pato...

You wrote that you use delbutton: true. So I suppose that you use formatter: "actions". The formatter: "actions" calls delGridRow on click on Delete button. I suggest that you use afterComplete or afterSubmit callbacks which second parameter contains the information about deleted row (see the documentation). So I suggest you...

Please formulate your question more clear in the future. It's absolutely unclear what you do exactly an what kind of validation you need to implement. If you need for example client side validation during editing then editrules would be the correct way to implement validation. Probably editrules: {url: true} or...

Thanks, it's a bug. The definition of propOrAttr should be propOrAttr = $t.p.propOrAttr; instead of the typing error propOrAttr = $t.p.useProp;. I've fixed the code of free jqGrid. You should refresh the sources from the GitHub....

I agree that the calculation of the width of the grid is not perfect in case of usage of autowidth: true. Nevertheless the problem which you describe is not a jqGrid problem. It's good that you included outer div over the grid in the demo which you posted. It shows...

You have long code. It's not the goal of stackoverflow that somebody debug your code. Could you prepare small demo which reproduce the problem? I debugged the code and could see that the grid have no horizontal bar at the initial loading. Free jqGrid contains detection whether the grid contains...

Thank you for the bug report! The reason was the property ftoolbar which stay set to true which used to detect whether the filter toolbar already exist or not. The fix solves the problem. Please reload free jqGrid, which you use, from GitHub.

The problem seems to me very easy. You do almost all correct, but you should understand that not all jQuery methods returns original jQuery object. For example $("#grid").jqGrid("getGridParam", "selrow") returns the rowid of selected row or null, so $("#grid").jqGrid("getGridParam", "selrow").trigger("reloadGrid"); would be incorrect. The method addRowData return Boolean value which...

There are some trick which you can use. You can editoptions in the column defined something like editoptions: { style: "height:40px;" } It will set style attribute on the textbox creating during editing. I think that the trick will work for any editing mode which you will use. UPDATED: One...

Point the data to jsData.rows rather than jsData. The root of the object doesn't directly contain the array or keys that you're trying to display. Updated fiddle here: http://jsfiddle.net/ToddT/6bx4w3m6/...

I posted the answer on the issue already, but because more people read steckoverflow I repeat here the main information. jqGrid uses jqModal.js module by default for form editing. The modal jqModal.js register keypress keydown mousedown event handler on the document element (see here) which can block the pressed key...

This will get them to sort the way you need: ;WITH CTE_All AS ( SELECT per.PersonID, per.FullName, per.PersonRow, ord.OrderID, ord.OrderName, ord.OrderTime, ord.City, ord.Active, ord.OrderRow, prod.ProductID, prod.ProductName, prod.ProductType, prod.Price, prod.ProductRow, so.Completed from #SubmittedOrders so LEFT JOIN (select *, row_number() over (order by OrderName) OrderRow from #Orders) ord ON ord.OrderID = so.OrderID...

I wrote you already in the past that the version 4.6.0 don't support editing of grids with frozen columns. To make the code working one have to do many things after every change of the grid content. One have to adjust position of frozen divs and to set explicitly the...

The most important error in your code is the usage of dataType: "json" instead of datatype: "json". The options like data: JSON.parse(result), with undefined result needed be removed of case. You can't place key: true property for more as one column. I would recommend you to include loadError callback in...

If you really use six years old version jqGrid 3.5.3 then the reason of your problem could be only in your server code. jqGrid send to the server just Name=searchString where the searchString part is the text typing by the user. The server is responsible for building case-insensitive SELECT with...