tonytomov / jqGrid

jQuery grid plugin
www.trirand.com
2.84k stars 1.2k forks source link

jqGridImport & jqGridExport working synergy #1061

Open HASTJI opened 2 months ago

HASTJI commented 2 months ago

Hello. is there any valid method to save current colums visability for current user in JqGrid? I mean when it was version 4.6 - I made it with : $("#gridframe").jqGrid('jqGridImport',{imptype:"jsonstring", impstring:window.localStorage.getItem("%userid%-gridframe")}); in the beggining, before JqGrid is builded and then created button, which saves all prefs of current grid in local storage: window.localStorage.setItem("%userid%-gridframe",$("#gridframe").jqGrid('jqGridExport',{exptype:'jsonstring'})); But with the latest version it said that jqGridImport is not a function and when I changed it to: $.jgrid.jqGridImport( "gridframe", {imptype:"jsonstring", impstring : window.localStorage.getItem("%userid%-gridframe")}); It started saying that json array is not valid, but all was okay when it was old version.

изображение

изображение

What I'm doing wrong? I already tried to figure out about new syntax, but didn't get any correct results in my researches....

tonytomov commented 3 days ago

Hello,

I apologize for delay - for some reason I missed your request.

Try to export with $.jgrid.jqGridExport which is moved to the $.jgrid space too and import it .

Regards

HASTJI commented 2 days ago

Hm, strange, i think that I'm missing something. Right now I'm using v5.8.5 - 2023-07-19 version. When I'm doing this: window.localStorage.setItem("SavedSearchColums", $.jgrid.jqGridExport('SearchTable',{exptype:'jsonstring'})); it response with: изображение But when I'm trying to do this: $('#SearchTable').jqGridExport('MainSearchTable',{exptype:'jsonstring'}); it displays response, but it....default xml, I guess...? изображение In both ways GridImport saying that it can't read json structure or, if export type set to xml - that xml structure is damaged. I can't understand what I'm doing wrong and how I can Export & Import prefs with new api, if I creating new jqGrid instanse based on tag from jquery: $("#1Search").jqGrid({ caption:"Main Search", datatype: "json", url: $("div#1SearchWrapper").data('cos'), pager: "#1SearchPager", colNames:['.........

Can you please provide some valid working example of the code for latest package version in which colums visability saved and than can be loaded buy calling import & export? Or maybe there is any other, more newer method of managing colums visability on grid load for users?

tonytomov commented 2 days ago

Hello,

Could you please post your full jqGrid setup, so that we can see what is happen.

tonytomov commented 2 days ago

Hello,

I totally forgot about these.

Here demo

the methods are


$.jgrid.saveState and $.jgrid.loadState

Docs are here

HASTJI commented 2 days ago

your full jqGrid setup

https://jsfiddle.net/nambell/gq3j1aL7

Here it is.

Btw already tried SaveState & LoadState - looks pretty much as what I'm looking for, but didn't figure out yet how to load and save only colums visability, without other prefs and data in colums.

tonytomov commented 2 days ago

Look at the options of the methods there is a way not to save or load the data