Hello masters
I am facing real problem, one of my code part is sorting for #string_filter yet another almost exact same code does not sort.
I am trying to solve this and i have mo idea where or which part of code cause this mess for 2 days half of coffee in coffee jar and 1/4 of my hair gone within two days.
I am attaching two text files one contains sortable code and another contains unsortable code
Thanks for any help.
PS : This form does not allow text files so i paste codes here
SORTABLE CODE
[code] List : function()
{
if(typeof(SOLW)==‘undefined’){
SOLW = App.Window('Ofis Listesi',1000,600);
SOLW.setModal(true);
SOLW.attachEvent("onClose",function(){ delete SOLW; delete SOLWSTATUS; delete SOLTOOL; return true; });
SOLW.progressOn();
SOLWSTATUS = SOLW.attachStatusBar({text:"<div id='pager' class='pager'></div>",height:28});
SOLTOOL = SOLW.attachToolbar({icons_path: "/statics/dhtmlx/common/imgs/"});
SOLTOOL.addButton('newrecord',1,"Yeni Kayıt","new.gif","new_dis.gif");
SOLTOOL.addButton('editrecord',2,"Düzenle","edit.gif","edit_dis.gif");
SOLTOOL.addButton('deleterecord',3,"Sil","trash.gif","trash_dis.gif");
SOLTOOL.addSeparator("sep1", 4);
SOLTOOL.addButton('refresh',5,"Yenile","redo.gif","redo.gif");
SOLTOOL.addSeparator("sep1", 6);
SOLTOOL.addButton('pdflist',7,"Pdf","pdf.gif");
SOLTOOL.addButton('excellist',8,"Excel","xls.gif");
SOLTOOL.disableItem('editrecord');
SOLTOOL.disableItem('deleterecord');
}
//Grid
SOLG = SOLW.attachGrid();
SOLG.setImagePath("/statics/dhtmlx/common/imgs/");
SOLG.setHeader("Kayıt No,Firma Adı,Ofis Adı,Adres,Telefon,Durum,Oluşturulma Zamanı,Güncellenme Zamanı,Silinme Zamanı");
SOLG.attachHeader("#numeric_filter,#text_filter,#text_filter,#text_filter,#text_filter,#text_filter,#text_filter,#text_filter,#text_filter");
SOLG.setColumnIds("ofis_id,firma_isim,isim,Fadres,tel,Fdurum,Folusturulma_zamani,Fguncellenme_zamani,Fsilinme_zamani");
SOLG.setColSorting("int,str,str,str,str,str,str,str,str");
SOLG.setInitWidths("80,200,200,400,100,100,150,150,150");
SOLG.setColAlign("right,left,left,left,left,left,left,left,left");
SOLG.enablePaging(true,25,3,"pager");
SOLG.setPagingSkin("toolbar");
SOLG.i18n.paging = App.LocalizePaging;
SOLG.load("/api/office/all?system=1",function(){
SOLG.loadHiddenColumnsFromCookie("hidden-system-office-column-saving");
SOLG.loadSizeFromCookie("save-system-office-size-to-cookie");
SOLG.loadSortingFromCookie("sorting-system-office-save");
SOLG.loadOrderFromCookie("order-system-office-saving");
SOLW.progressOff();
},"js");
SOLG.init();
SOLG.enableHeaderMenu();
SOLG.enableColumnMove(true);
SOLG.setEditable(false);
SOLG.attachEvent("onPaging", function(count){
SOLG.forEachRow(function(id)
{
var silinme_zamani = SOLG.cells(id,SOLG.getColIndexById("Fsilinme_zamani")).getValue();
if(silinme_zamani.trim() != '')
SOLG.setRowTextStyle(id, "color:silver;");
});
});
//Context Menu
function event(MenuItemId,type)
{
switch(MenuItemId)
{
case "edit":
SOLTOOL.callEvent("onClick",["editrecord"]);
break;
case "del":
SOLTOOL.callEvent("onClick",["deleterecord"]);
break;
case "refresh":
SOLTOOL.callEvent("onClick",["refresh"]);
break;
}
return true;
}
menu = new dhtmlXMenuObject();
menu.renderAsContextMenu();
menu.attachEvent("onClick",event);
menu.loadStruct('<menu id="0"><item text="Düzenle" id="edit"/><item text="Sil" id="del"/><item text="Yenile" id="refresh"/></menu>');
//Context Menu
SOLG.enableContextMenu(menu);
// Grid
//Event
function editRecord(rowId)
{
if(rowId!='')
var rowId = SOLG.cells(SOLG.getSelectedRowId(),SOLG.getColIndexById("ofis_id")).getValue();
else
{
SOLG.clearSelection();
SOLTOOL.disableItem('editrecord');
SOLTOOL.disableItem('deleterecord');
}
App.System.Office.Form(rowId);
}
function deleteRecord()
{
var rowId = SOLG.cells(SOLG.getSelectedRowId(),SOLG.getColIndexById("ofis_id")).getValue();
dhtmlx.confirm({
title: "Emin misiniz ?",
type:"confirm-warning",
text: "Ofisi silmek istediğinize emin misiniz ?",
ok:'Evet',
cancel:'Vazgeç',
callback: function(ok){
if(ok)
{
dhtmlxAjax.post("/api/office/delete", "ofis_id="+rowId, function(loader){
json_res = JSON.parse(loader.xmlDoc.responseText);
if(json_res['status']=='OK')
{
SOLG.deleteSelectedRows();
SOLG.clearSelection();
SOLTOOL.disableItem('editrecord');
SOLTOOL.disableItem('deleterecord');
}
else
dhtmlx.alert({ title:"Hata Mesajı",type:"alert-error",text:json_res['error_message'] });
SOLW.progressOff();
});
}
}
});
}
SOLG.attachEvent("onRowDblClicked",editRecord);
SOLG.attachEvent("onEnter",editRecord);
SOLG.attachEvent("onRowSelect",function(){ SOLTOOL.enableItem('editrecord'); SOLTOOL.enableItem('deleterecord'); });
SOLG.attachEvent("onAfterSorting",function(){ SOLG.enableSortingSaving("sorting-system-office-save"); });
SOLG.attachEvent("onColumnHidden",function(){ SOLG.enableAutoHiddenColumnsSaving("hidden-system-office-column-saving"); });
SOLG.attachEvent("onAfterCMove", function(cInd,posInd){ SOLG.enableOrderSaving("order-system-office-saving"); });
SOLG.attachEvent("onMouseOver", function(id,ind){ SOLG.saveSizeToCookie("save-system-office-size-to-cookie"); });
SOLG.attachEvent("onBeforeContextMenu",function(rowId,celInd,obj){ obj.selectRowById(rowId,true,true,true); return true; });
SOLTOOL.attachEvent("onClick", function(id)
{
if(id=='newrecord'){ editRecord(''); }
if(id=='editrecord'){ editRecord('edit'); }
if(id=='deleterecord'){ deleteRecord(); }
if(id=='refresh'){ SOLW.close(); App.System.Office.List(); }
if(id=='pdflist'){ SOLG.toPDF("/statics/pdfexport/generate.php"); }
if(id=='excellist'){ SOLG.toExcel("/statics/excelexport/generate.php"); }
});
}[/code]
and this is UNSORTABLE CODE
[code]List : function()
{
if(typeof(SULW)==‘undefined’)
{
SULW = App.Window(‘Kullanıcılar Listesi’,1000,650);
SULW.setModal(true);
SULW.attachEvent(“onClose”,function(){ delete SULW; delete SULWSTATUS; delete SULTOOL; return true; });
SULW.progressOn();
SULWSTATUS = SULW.attachStatusBar({text:"<div id='pager' class='pager'></div>",height:28});
SULTOOL = SULW.attachToolbar({icons_path: "/statics/dhtmlx/common/imgs/"});
SULTOOL.addButton('newrecord',1,"Yeni Kayıt","new.gif","new_dis.gif");
SULTOOL.addButton('editrecord',2,"Düzenle","edit.gif","edit_dis.gif");
SULTOOL.addButton('deleterecord',3,"Sil","trash.gif","trash_dis.gif");
SULTOOL.addSeparator("sep1", 4);
SULTOOL.addButton('refresh',5,"Yenile","redo.gif","redo.gif");
SULTOOL.addSeparator("sep1", 6);
SULTOOL.addButton('pdflist',7,"Pdf","pdf.gif");
SULTOOL.addButton('excellist',8,"Excel","xls.gif");
SULTOOL.disableItem('editrecord');
SULTOOL.disableItem('deleterecord');
}
//Grid
SULG = SULW.attachGrid();
SULG.setImagePath("/statics/dhtmlx/common/imgs/");
SULG.setHeader("Kayıt No,Firma Adı,Ofisi,Kullanıcı Adı,İsim,Soyisim,Mobil,Yetki Düzeyi,Durum,Giriş Sayısı,Oluşturulma Zamanı,Silinme Zamanı");
SULG.attachHeader("#numeric_filter,#text_filter,#text_filter,#text_filter,#text_filter,#text_filter,#text_filter");
SULG.setColumnIds("kullanici_id,Ffirma,Fofis,kullanici_adi,isim,soyisim,mobil,Fyetki,Fdurum,Fgiris_sayisi,Folusturulma_zamani,Fsilinme_zamani");
SULG.setColSorting("int,str,str,str,str,str,str,str,str,int,str,str");
SULG.setInitWidths("80,250,150,120,120,120,100,202,90,90,150,150");
SULG.setColAlign("right,left,left,left,left,left,left,left,left,left,left,left");
SULG.enablePaging(true,25,3,"pager");
SULG.setPagingSkin("toolbar");
SULG.i18n.paging = App.LocalizePaging;
SULG.load("/api/user/all?system=1",function()
{
SULG.loadHiddenColumnsFromCookie("hidden-system-user-column-saving");
SULG.loadSizeFromCookie("save-system-user-size-to-cookie");
SULG.loadSortingFromCookie("sorting-system-user-save");
SULG.loadOrderFromCookie("order-system-user-saving");
SULW.progressOff();
},"js");
SULG.init();
SULG.enableHeaderMenu();
SULG.enableColumnMove(true);
SULG.setEditable(false);
SULG.attachEvent("onPaging", function(count)
{
SULG.forEachRow(function(id)
{
var silinme_zamani = SULG.cells(id,SULG.getColIndexById("Fsilinme_zamani")).getValue();
if(silinme_zamani.trim() != '')
SULG.setRowTextStyle(id, "color:silver;");
});
});
//Context Menu
function event(MenuItemId,type)
{
switch(MenuItemId)
{
case "edit":
SULTOOL.callEvent("onClick",["editrecord"]);
break;
case "del":
SULTOOL.callEvent("onClick",["deleterecord"]);
break;
case "refresh":
SULTOOL.callEvent("onClick",["refresh"]);
break;
}
return true;
}
menu = new dhtmlXMenuObject();
menu.renderAsContextMenu();
menu.attachEvent("onClick",event);
menu.loadStruct('<menu id="0"><item text="Düzenle" id="edit"/><item text="Sil" id="del"/><item text="Yenile" id="refresh"/></menu>');
//Context Menu
SULG.enableContextMenu(menu);
// Grid
//Event
function editRecord(rowId)
{
if(rowId!='')
var rowId = SULG.cells(SULG.getSelectedRowId(),SULG.getColIndexById("kullanici_id")).getValue();
else
{
SULG.clearSelection();
SULTOOL.disableItem('editrecord');
SULTOOL.disableItem('deleterecord');
}
App.System.User.Form(rowId);
}
function deleteRecord()
{
var rowId = SULG.cells(SULG.getSelectedRowId(),SULG.getColIndexById("kullanici_id")).getValue();
dhtmlx.confirm({
title: "Emin misiniz ?",
type:"confirm-warning",
text: "Kullanıcıyı silmek istediğinize emin misiniz ?",
ok:'Evet',
cancel:'Vazgeç',
callback: function(ok){
if(ok)
{
dhtmlxAjax.post("/api/user/delete", "kullanici_id="+rowId, function(loader)
{
json_res = JSON.parse(loader.xmlDoc.responseText);
if(json_res['status']=='OK')
{
SULG.deleteSelectedRows();
SULG.clearSelection();
SULTOOL.disableItem('editrecord');
SULTOOL.disableItem('deleterecord');
}
else
dhtmlx.alert({ title:"Hata Mesajı",type:"alert-error",text:json_res['error_message'] });
SULW.progressOff();
});
}
}
});
}
SULG.attachEvent("onRowDblClicked",editRecord);
SULG.attachEvent("onEnter",editRecord);
SULG.attachEvent("onRowSelect",function(){ SULTOOL.enableItem('editrecord'); SULTOOL.enableItem('deleterecord'); });
SULG.attachEvent("onAfterSorting",function(){ SULG.enableSortingSaving("sorting-system-user-save"); });
SULG.attachEvent("onColumnHidden",function(){ SULG.enableAutoHiddenColumnsSaving("hidden-system-user-column-saving"); });
SULG.attachEvent("onAfterCMove", function(cInd,posInd){ SULG.enableOrderSaving("order-system-user-saving"); });
SULG.attachEvent("onMouseOver", function(id,ind){ SULG.saveSizeToCookie("save-system-user-size-to-cookie"); });
SULG.attachEvent("onBeforeContextMenu",function(rowId,celInd,obj){ obj.selectRowById(rowId,true,true,true); return true; });
SULTOOL.attachEvent("onClick", function(id)
{
if(id=='newrecord'){ editRecord(''); }
if(id=='editrecord'){ editRecord('edit'); }
if(id=='deleterecord'){ deleteRecord(); }
if(id=='refresh'){ SULW.close(); App.System.User.List(); }
if(id=='pdflist'){ SULG.toPDF("/statics/pdfexport/generate.php"); }
if(id=='excellist'){ SULG.toExcel("/statics/excelexport/generate.php"); }
});
}[/code]