|
Hi
I have jqGrid with option sortable = true – I can D&D columns – change order column. What does I need? in showHideCol i commented line if(gh) { $($t).jqGrid(‘destroyGroupHeader’, false); } and it work but … why doesn’t work this code
Â
|
 |
Hello,
I’m not sure that I can help when using this type of description.
Please post your code or send a link to the problem.
Regards
Example:
var jqgridNames;
var jqgridModel;
var jqgridRowNum;
var jqgridRowList;
var jqgridPager;
var jqgridSortName;
var jqgridCaption;
var jqgriddbDane;
var jqgriddane;
var jqgridPage;
var jqgridTotal;
var jqgridRecords;
var jqgridHeight;
var jqgridWidth;
var jqgridGroupHeaders;
var jqgridShrinkToFit;
var jqgridRownumbers;
var jqgridSearch;
var jqgridViewrecords;
var jqgridScrollrows;
var jqgridToppager;
var jqgridMultiselect;
var jqgridFiltr;
var jqgridFrizenColumn;
var jqgridFilterToolbar;
var jqgridSortOrder;
var jqgridMultiSort;
var jqgridFooterrow;
var jqgridProcedura;
var jqgridSortable;
var GridProcUstawienia;
var GridProcDane;
var GridProcPozycjiUstawienia;
var GridProcPozycjiDane;
var ExportListyDoExcel;
var mypostdata;
var hdfGridRowNum;
var hdfGridRowList;
var szerZWidocznymiAkcjami = 380;
var szerZUkrytymiAkcjami = 210;
var OdejmijJakJestTabWOknie = 0;
var szerokoscGlob;
var idPoprzedniegoRekordu;
var boolDodaj = false;
var boolEdytuj = false;
var ile = 0;
var configChzn = {
‘.chzn-select’: {},
‘.chzn-select-deselect’: { allow_single_deselect: true, width: “400px !important”, height: “60px”, no_results_text: ‘Brak pozycji o podanej nazwie’ },
‘.chzn-select-no-single’: { disable_search_threshold: 10 },
‘.chzn-select-no-results’: { no_results_text: ‘Nic nie znalazÅ‚em’ },
‘.chzn-select-width’: { width: “95%” }
}
//
jqgridNames = a.colNames;
jqgridModel = a.colModel;
jqgridRowNum = a.rowNum;
jqgridPager = a.pager;
jqgridSortName = a.sortname;
jqgridCaption = a.caption;
jqgridGroupHeaders = a.groupHeaders;
jqgridHeight = a.height;
jqgridWidth = a.width;
jqgridPage = a.page;
jqgridTotal = a.total;
jqgridRecords = a.records;
jqgridShrinkToFit = a.shrinkToFit;
jqgridRownumbers = a.rownumbers;
jqgridSearch = a.search;
jqgridViewrecords = a.viewrecords;
jqgridScrollrows = a.scrollrows;
jqgridToppager = true;
jqgridMultiselect = a.multiselect;
jqgridFiltr = a.filtr;
jqgridFrizenColumn = a.frozenColumn;
jqgridFilterToolbar = a.filterToolbar;
jqgridSortOrder = a.sortorder;
jqgridMultiSort = a.multiSort;
jqgridFooterrow = a.footerrow;
if (a.procedura != null && a.procedura != undefined && a.procedura != “”) {
jqgridProcedura = a.procedura;
jqgridSortable = true;
if (jqgridProcedura.indexOf(“DoDlg”) > 0) {
jqgridProcedura = null;
jqgridSortable = false;
}
}
else {
jqgridProcedura = null;
jqgridSortable = false;
}
}
function getColumnIndexByName(grid, columnName) {
var cm = grid.jqGrid(‘getGridParam’, ‘colModel’), i = 0, l = cm.length;
for (; i < l; i += 1) {
if (cm.name === columnName) {
return i;
}
}
return -1;
}
function refreshSerchingToolbar($grid, myDefaultSearch) {
var postData = $grid.jqGrid(‘getGridParam’, ‘postData’), filters, i, l,
rules, rule, iCol, cm = $grid.jqGrid(‘getGridParam’, ‘colModel’),
cmi, control, tagName;
for (i = 0, l = cm.length; i < l; i += 1) {
control = $(“#gs_” + $.jgrid.jqID(cm.name));
if (control.length > 0) {
tagName = control[0].tagName.toUpperCase();
if (tagName === “SELECT”) { // && cmi.stype === “select”
control.find(“option[value=”]”)
.attr(‘selected’, ‘selected’);
} else if (tagName === “INPUT”) {
control.val(”);
}
}
}
if (typeof (postData.filters) === “string” && typeof ($grid[0].ftoolbar) === “boolean” && $grid[0].ftoolbar) {
filters = $.parseJSON(postData.filters);
if (filters && filters.groupOp === “AND” && typeof (filters.groups) === “undefined”) {
rules = filters.rules;
for (i = 0, l = rules.length; i < l; i += 1) {
rule = rules;
iCol = getColumnIndexByName($grid, rule.field);
control = $(“#gs_” + $.jgrid.jqID(rule.field));
if (iCol >= 0) {
cmi = cm[iCol];
tagName = control[0].tagName.toUpperCase();
if (((typeof (cmi.searchoptions) === “undefined” ||
typeof (cmi.searchoptions.sopt) === “undefined”)
&& rule.op === myDefaultSearch) ||
(typeof (cmi.searchoptions) === “object” &&
$.isArray(cmi.searchoptions.sopt) &&
cmi.searchoptions.sopt[0] === rule.op)) {
if (tagName === “SELECT”) { // && cmi.stype === “select”
control.find(“option[value='” + $.jgrid.jqID(rule.data) + “‘]”)
.attr(‘selected’, ‘selected’);
} else if (tagName === “INPUT”) {
control.val(rule.data);
}
} else {
control.val(“”);
}
}
}
}
}
}
function LadujGrida(grid, szerokoscGrida, proceduraDane, funkcjaAkcji, bExport, funkcjaEksportu, proceduraEksportu,
pokazKolCB, bUkryjKolAct, stopkaGrida, przycisk, PodstawIdDo, MenuKontekstowe, czyJestDetail, gridPozycji, labelkaFiltru,
funWykonajPoZaladowaniuDanych, wysokoscGrida, funWykonajKiedyGridJestKompletny, funWykonajPoZaznaczeniuWiersza,
funWykonajPoSortowaniuNaKolumnie, contextMenu, obiekt) {
var argumenty = arguments;
var divGrid = $(grid);
if (grid.length > 1) {
var gridTemp = grid.replace(“#”, “”);
if ($(“#gbox_” + gridTemp).length > 0) {
var parent = $(“#gbox_” + gridTemp).parent();
var pager = stopkaGrida.replace(“#”, “”);
$(“#gbox_” + gridTemp).remove();
$(parent).append(‘
‘);
}
}
var parentGrida = divGrid.parent();
PodstawUstawieniaGrida();
$(this).unbind(‘ajaxStop’);
var idsOfSelectedRows = [];
var idsOfSelectedRowsOpisy = [];
if (obiekt != null) {
idsOfSelectedRowsOpisy = obiekt.idsOfSelectedRowsOpisy;
}
var updateIdsOfSelectedRows = function (id, isSelected) {
var index = $.inArray(id, idsOfSelectedRows);
if (!isSelected && index >= 0) {
idsOfSelectedRows.splice(index, 1); // remove id from the list
} else if (index < 0) {
var wiersz = $(grid).jqGrid(‘getRowData’, id);
if (wiersz.ukryjZaz != undefined && wiersz.ukryjZaz != 1) {
idsOfSelectedRows.push(id);
var wiersz = $(grid).jqGrid(‘getRowData’, id);
if (wiersz != null && wiersz.opis != null && wiersz.opis != undefined) {
var o = {
id: id,
opis: wiersz.opis
};
var jest = false;
for (var i = 0; i < idsOfSelectedRowsOpisy.length; i++) {
if (idsOfSelectedRowsOpisy.id == id) {
jest = true;
}
}
if (!jest) {
idsOfSelectedRowsOpisy.push(o);
}
}
}
if (wiersz.ukryjZaz == undefined) {
idsOfSelectedRows.push(id);
}
}
};
if (szerokoscGrida == null) {
szerokoscGrida = $(‘#tabs-0’).width() – 370
}
if (wysokoscGrida != null) {
jqgridHeight = wysokoscGrida;
}
if (jqgridSortOrder == undefined) {
jqgridSortOrder = “asc”;
}
if ((jqgridSortOrder != “asc”) && (jqgridSortOrder != “desc”)) {
jqgridSortOrder = “asc”;
}
if (jqgridMultiSort == undefined || jqgridMultiSort == null) {
jqgridMultiSort = false;
}
mydata = JSON.parse(‘{“total”: “2”, “page”: “1”, “records”: “31”, “filtr”: “”, “rows”: [{“id”: “C7F55ADB-9FC0-45CB-81B1-C3BAB9B48D85”, “cell” : [“C7F55ADB-9FC0-45CB-81B1-C3BAB9B48D85”, “”, “C7F55ADB-9FC0-45CB-81B1-C3BAB9B48D85”, “”, “”, “PO”, “porchowski@xxx.aaa.pl”, “1”, “2014-07-09 06:31:13”, “”]},{“id”: “45214ECA-FD3A-4081-99B8-0276786C8A50”, “cell” : [“45214ECA-FD3A-4081-99B8-0276786C8A50”, “”, “45214ECA-FD3A-4081-99B8-0276786C8A50”, “”, “1”, “PO1”, “porchow@xxx.aaa.pl”, “1”, “2014-03-21 08:42:40”, “”]}]}’);
$(grid).jqGrid({
sortable: jqgridSortable,
mtype: “POST”,
async: false,
data: mydata,
datatype: ‘local’,
colNames: jqgridNames,
colModel: jqgridModel,
rowNum: jqgridRowNum,
rowList: jqgridRowList,
pager: jqgridPager,
sortname: jqgridSortName,
sortorder: jqgridSortOrder,
search: jqgridSearch,
viewrecords: jqgridViewrecords,
scrollrows: jqgridScrollrows,
width: szerokoscGrida,
caption: jqgridCaption,
footerrow: jqgridFooterrow,
autowidth: true,
multiSort: jqgridMultiSort,
toppager: jqgridToppager,
shrinkToFit: jqgridShrinkToFit,
rownumbers: jqgridRownumbers,
multiselect: jqgridMultiselect,
editurl: “”,
gridComplete: function () {
var g = $(grid);
g.height = $(“#divLewy”).css(“height”);
var ids = g.getDataIDs();
},
loadError: function (xhr, st, err) {
},
loadComplete: function (dane) {
dane = mydata;
if (grid.selector != undefined) {
var nazGrida = grid.selector.replace(“#”, “”);
for (var i = 0; i < dane.rows.length; i++) {
var wiersz = dane.rows;
if (dane.rows.ukryjZaz != undefined && dane.rows.ukryjZaz == “1”) {
$(“#jqg_” + nazGrida + “_” + dane.rows.id).css(“visibility”, “hidden”);
$(“#jqg_” + nazGrida + “_” + dane.rows.id).attr(“disabled”, true);
}
}
}
refreshSerchingToolbar($(this), ‘cn’);
var $this = $(this), i, count;
for (i = 0, count = idsOfSelectedRows.length; i < count; i++) {
$this.jqGrid(‘setSelection’, idsOfSelectedRows, false);
}
}
});
$(grid).jqGrid(‘navGrid’, jqgridPager, { search: jqgridSearch, edit: false, add: false, del: false, searchtext: “Szukaj” },
{}, {}, {}, { closeOnEscape: true, multipleSearch: true, closeAfterSearch: true }, {}, { cloneToTop: true });
//ÅÄ…czenie opisów kolumn
$(grid).jqGrid(‘setGroupHeaders’, {
useColSpanStyle: true,
groupHeaders: jqgridGroupHeaders
});
if (jqgridFilterToolbar) {
$(grid).jqGrid(‘filterToolbar’, { stringResult: true, searchOnEnter: true, ignoreCase: true, searchoptions: { sopt: [“cn”]} });
}
if (bUkryjKolAct != false) {
$(grid).hideCol(“act”);
}
if (jqgridProcedura != “” && jqgridProcedura != undefined && jqgridProcedura != null) {
PokazUkryjKolumnyZapisane(grid);
}
else {
PokazUkryjKolumny(grid);
}
}
function PokazUkryjKolumnyZapisane(g) {
var sDivPagerKolumny = zamienWTekscie(g, “gvw”, “div”) + “Pager .ui-icon-bookmark”;
var arrKolumny = $(sDivPagerKolumny);
if (arrKolumny.length == 0) {
$(g).jqGrid(‘navButtonAdd’, jqgridPager, {
caption: “Kolumny”, buttonicon: “ui-icon-bookmark”, title: “Kolumny pokaż/ukryj”,
onClickButton: function () {
$(g).jqGrid(‘columnChooser’, {
done: function (perm) {
if (perm) {
this.jqGrid(“remapColumns”, perm, true);
this.jqGrid({ sortable: true });
} else {
}
}
});
}
});
}
}
function PokazUkryjKolumny(g) {
$(g).jqGrid(‘navButtonAdd’, jqgridPager, {
caption: “Kolumny”, buttonicon: “ui-icon-bookmark”, title: “Kolumny pokaż/ukryj”,
onClickButton: function () {
$(g).jqGrid(‘columnChooser’, {
done: function (perm) {
if (perm) {
this.jqGrid(“remapColumns”, perm, true);
} else {
}
}
});
}
});
}
function zamienWTekscie(tekst, co, na) {
while (tekst.indexOf(co) != -1) {
tekst = tekst.replace(co, na);
};
return tekst;
}
$(document).ready(function () {
LadujGrida(“#gvwDane”, null, null, null, true, null, null, false, false, null,
$(”), $(”), null, 0, null, ‘#lFiltr’, null,
null, null, null, null, null);
});
Wow I need a days to understand this. The code is a complex with too many functions.
Of course if the column is hidden it stays on position where you hide it.
Kind regards
I have hidden column at start (column Id), but when I commented line “if(gh) { $($t).jqGrid(‘destroyGroupHeader’, false);}” in jqueryj.jqGrid.src.js -> showHideCol is better, but problem is when I use groupHeader.
Copyright 2014 TriRand LtdAll Rights ReservedRSS
Back to Top