Jqgrid按星期几对列进行排序
我有一个名为“Day”的专栏,在我的jqgrid中有日期名称。我不知道如何使它按星期几的顺序而不是按字母顺序排序 有什么想法吗?有没有办法覆盖默认的排序行为Jqgrid按星期几对列进行排序,jqgrid,Jqgrid,我有一个名为“Day”的专栏,在我的jqgrid中有日期名称。我不知道如何使它按星期几的顺序而不是按字母顺序排序 有什么想法吗?有没有办法覆盖默认的排序行为 谢谢 首先,您需要在数据源中有一个计算字段,以数字形式表示一周中的某一天。然后,通过设置该列的“索引”值,更新colModel,使当前“日”字段使用该计算出的数字: 参见选项“索引” 我将数据类型用作JSON。您可以在我的代码中看到“dayOfWeek”列。 我想我必须在我的selecteditoption中使用一个数字作为editopt
谢谢 首先,您需要在数据源中有一个计算字段,以数字形式表示一周中的某一天。然后,通过设置该列的“索引”值,更新colModel,使当前“日”字段使用该计算出的数字: 参见选项“索引”
我将数据类型用作JSON。您可以在我的代码中看到“dayOfWeek”列。 我想我必须在我的selecteditoption中使用一个数字作为editoptions:{value:“1:Monday;2:beday…},然后按索引排序
jq(function() {
jQuery("#grid").jqGrid({
url:'/ocr/webadmin/crudslsrouting?region='+document.getElementById("selectregion").value,
datatype: 'json',
mtype: 'GET',
colNames:['id', 'weekAndGap', '<fmt:message key="slsrouting.year"/>', '<fmt:message key="slsrouting.week"/>', '<fmt:message key="slsrouting.region"/>', '<fmt:message key="slsrouting.dayOfWeek"/>', '<fmt:message key="slsrouting.timeFrom"/>', '<fmt:message key="slsrouting.timeto"/>', '<fmt:message key="slsrouting.1stTechnician"/>', '<fmt:message key="slsrouting.1stTechnicianNumber1"/>', '<fmt:message key="slsrouting.1stTechnicianNumber2"/>', '<fmt:message key="slsrouting.2ndTechnician"/>', '<fmt:message key="slsrouting.2ndTechnicianNumber1"/>', '<fmt:message key="slsrouting.2ndTechnicianNumber2"/>', '<fmt:message key="slsrouting.3rdTechnician"/>', '<fmt:message key="slsrouting.3rdTechnicianNumber1"/>', '<fmt:message key="slsrouting.3rdTechnicianNumber2"/>', '<fmt:message key="slsrouting.smsGroup"/>'],
colModel:[
{name:'id',index:'id', width:55,editable:false,editoptions:{readonly:true},hidden:true},
{name:'weekAndGap',index:'weekAndGap', width:55,editable:false,editoptions:{readonly:true},hidden:true},
{name:'year',index:'year', width:25,editable:false,editoptions:{readonly:true},hidden:true},
{name:'week',index:'week', width:25,sorttype: 'integer',editable:true, editrules:{required:true}},
{name:'region',index:'region', width:55,editable:true,editoptions:{required:true}},
{name:'dayOfWeek',index:'dayOfWeek', width:50,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"Monday:Monday;Tuesday:Tuesday;Wednesday:Wednesday;Thursday:Thursday;Friday:Friday;Saturday:Saturday;Sunday:Sunday"}},
{name:'timeFrom',index:'timeFrom', width:40,editable:true, editrules:{required:true}, editoptions:{dataInit: function (el) {jq(el).timepicker({});}}},
{name:'timeTo',index:'timeTo', width:40,editable:true, editrules:{required:true}, editoptions:{dataInit: function (el) {jq(el).timepicker({});}}},
{name:'technicianId1',index:'technicianId1', width:70,editable:true, editrules:{required:true}, edittype:"select"},
{name:'technician1PhoneNumber1',index:'technician1PhoneNumber1', width:70,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"-:-;Office Phone:Office Phone;Mobile Phone:Mobile Phone;Other Phone:Other Phone"}},
{name:'technician1PhoneNumber2',index:'technician1PhoneNumber2', width:70,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"-:-;Office Phone:Office Phone;Mobile Phone:Mobile Phone;Other Phone:Other Phone"}},
{name:'technicianId2',index:'technicianId2', width:70,editable:true, editrules:{required:true}, edittype:"select"},
{name:'technician2PhoneNumber1',index:'technician2PhoneNumber1', width:70,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"-:-;Office Phone:Office Phone;Mobile Phone:Mobile Phone;Other Phone:Other Phone"}},
{name:'technician2PhoneNumber2',index:'technician2PhoneNumber2', width:70,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"-:-;Office Phone:Office Phone;Mobile Phone:Mobile Phone;Other Phone:Other Phone"}},
{name:'technicianId3',index:'technicianId3', width:70,editable:true, editrules:{required:true}, edittype:"select"},
{name:'technician3PhoneNumber1',index:'technician3PhoneNumber1', width:70,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"-:-;Office Phone:Office Phone;Mobile Phone:Mobile Phone;Other Phone:Other Phone"}},
{name:'technician3PhoneNumber2',index:'technician3PhoneNumber2', width:70,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"-:-;Office Phone:Office Phone;Mobile Phone:Mobile Phone;Other Phone:Other Phone"}},
{name:'smsGroupId',index:'smsGroupId', width:70,editable:true, editrules:{required:true}, edittype:"select"}
],
editurl: "/ocr/webadmin/crudslsrouting/edit",
rowNum:300,
rowList:[300,600,900,1200],
height: 400,
autowidth: true,
rownumbers: true,
pager: '#pager',
viewrecords: true,
caption:"SL Routing",
emptyrecords: '<fmt:message key="common.emptyRecords"/>',
async: false,
loadonce: true,
loadComplete: function() {
if(document.getElementById("defaultRegion").value!='ALL' ||
(document.getElementById("selectregion").value!="" && document.getElementById("selectregion").value!="ALL")){
var regionValue=document.getElementById("selectregion").value;
getNicknameList(regionValue);
getSmsgroupList(regionValue);
//testIfNoWeek0ForSLAndRegion(regionValue);
}
//testIfWeek0TotallyCovered();
},
loadError : function(xhr,st,err) {
jQuery("#rsperror").html("Type: "+st+"; Response: "+ xhr.status + " "+xhr.statusText);
},
grouping:true,
groupingView : { groupField : ['weekAndGap'],
groupDataSorted : true,
groupColumnShow : [false],
groupCollapse : true,
groupText : ['<fmt:message key="slsrouting.week"/> {0} <fmt:message key="slsrouting.covered"/> - {1} Item(s) <a class="ui-group-div ui-corner-all" href="Javascript:DuplicateAllTheWeek(\'{0}\');"><span class="ui-duplicate-image-link"></span> <fmt:message key="slsrouting.duplicate"/></a> <a class="ui-group-div ui-corner-all" href="Javascript:DeleteWeek(\'{0}\');"><span class="ui-delete-button-link"></span> <fmt:message key="common.delete"/></a> ']
},
jsonReader : {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
cell: "cell",
id: "id"
}
});
jq("#grid").jqGrid('navGrid','#pager',{del:false,add:false,edit:false,search:false});
jq("#grid").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false,
afterSearch : function(){
if(jq("#gs_StateFull").val() == "") {
jq("#grid").jqGrid('setGridParam',{groupingView: { groupCollapse : true} }).trigger('reloadGrid');
} else {
jq("#grid").jqGrid('setGridParam',{groupingView: { groupCollapse : false} }).trigger('reloadGrid');
}
}
});
jq("#grid").navButtonAdd('#pager',
{ caption:'<fmt:message key="common.add"/>',
buttonicon:"ui-icon-plus",
onClickButton: addRow,
position: "last",
title:"",
cursor: "pointer"
}
);
jq("#grid").navButtonAdd('#pager',
{ caption:'<fmt:message key="common.edit"/>',
buttonicon:"ui-icon-pencil",
onClickButton: editRow,
position: "last",
title:"",
cursor: "pointer"
}
);
jq("#grid").navButtonAdd('#pager',
{ caption:'<fmt:message key="common.delete"/>',
buttonicon:"ui-icon-trash",
onClickButton: deleteRow,
position: "last",
title:"",
cursor: "pointer"
}
);
});
jq(函数(){
jQuery(“#grid”).jqGrid({
url:'/ocr/webadmin/crudlsrouting?region='+document.getElementById(“selectregion”).value,
数据类型:“json”,
mtype:'获取',
colNames:['id','weakandgap','','','','','','','','','','','','','','','','','','',
colModel:[
{名称:'id',索引:'id',宽度:55,可编辑:false,编辑选项:{readonly:true},隐藏:true},
{名称:'weekAndGap',索引:'weekAndGap',宽度:55,可编辑:false,可编辑选项:{readonly:true},隐藏:true},
{名称:'year',索引:'year',宽度:25,可编辑:false,编辑选项:{readonly:true},隐藏:true},
{name:'week',index:'week',width:25,sorttype:'integer',editable:true,editrules:{required:true},
{名称:'region',索引:'region',宽度:55,可编辑:true,可编辑选项:{required:true},
{名称:'dayOfWeek',索引:'dayOfWeek',宽度:50,可编辑:true,editrules:{required:true},edittype:“选择”,editoptions:{value:“周一:周一;周二:周二;周三:周三;周四:周四;周五:周五;周六:周六;周日:周日”},
{name:'timeFrom',index:'timeFrom',width:40,editrules:{required:true},editoptions:{dataInit:function(el){jq(el).timepicker({});}},
{name:'timeTo',index:'timeTo',width:40,editrules:{required:true},editoptions:{dataInit:function(el){jq(el).timepicker({});}},
{name:'technicianId1',index:'technicianId1',宽度:70,可编辑:true,editrules:{required:true},edittype:“select”},
{name:'technician1PhoneNumber1',index:'technician1PhoneNumber1',width:70,editrules:{required:true},edittype:“select”,editoptions:{value::-:-;办公电话:办公电话;手机:手机;其他电话:其他电话},
{name:'technician1PhoneNumber2',index:'technician1PhoneNumber2',width:70,editrules:{required:true},edittype:“select”,editoptions:{value::-:-;办公电话:办公电话;手机:手机;其他电话:其他电话},
{name:'technicianId2',index:'technicianId2',宽度:70,可编辑:true,editrules:{required:true},edittype:“select”},
{name:'technician2PhoneNumber1',index:'technician2PhoneNumber1',width:70,editrules:{required:true},edittype:“select”,editoptions:{value::-:-;办公电话:办公电话;手机:手机;其他电话:其他电话},
{名称:'technician2PhoneNumber2',索引:'technician2PhoneNumber2',宽度:70,可编辑:true,编辑规则:{required:true},编辑类型:“select”,编辑选项:{value::-:-;办公电话:办公电话;手机:手机;其他电话:其他电话”},
{name:'technicianId3',index:'technicianId3',宽度:70,可编辑:true,editrules:{required:true},edittype:“select”},
{name:'technician3PhoneNumber1',index:'technician3PhoneNumber1',width:70,editrules:{required:true},edittype:“select”,editoptions:{value::-:-;办公电话:办公电话;手机:手机;其他电话:其他电话},
{名称:'technician3PhoneNumber2',索引:'technician3PhoneNumber2',宽度:70,可编辑:true,编辑规则:{required:true},编辑类型:“select”,编辑选项:{value::-:-;办公电话:办公电话;手机:手机;其他电话:其他电话”},
{name:'smsGroupId',index:'smsGroupId',宽度:70,可编辑:true,editrules:{required:true},edittype:“select”}
],
editurl:“/ocr/webadmin/crudlsrouting/edit”,
行数:300,
行列表:[3006009001200],
身高:400,
自动宽度:正确,
行数:对,
寻呼机:“#寻呼机”,
viewrecords:是的,
标题:“SL路由”,
空记录:“”,
async:false,
有一次:是的,
loadComplete:函数(){
if(document.getElementById(“defaultRegion”).value!='ALL'||
(document.getElementById(“selectregion”).value!=“和&document.getElementById(“selectregion”).value!=“全部”)){
var regionValue=document.getElementById(“selectregion”).value;
获取昵称列表(regionValue);
getSmsgroupList(regionValue);
//陆地区域的测试结果(区域值);
}
//TestiFWeek0全部覆盖();
},
loadError:函数(xhr,st,err){
jQuery(“#rsperor”).html(“类型:+st+”,响应:+xhr.status+”+xhr.statusText);
},
分组:对,
groupingView:{groupField:['weekAndGap'],
groupDataSorted:对,
groupColumnShow:[错误],
群体崩溃:是的,
groupText:['{0}-{1}项]
},
jsonReader:{
根:“行”,
第页:“第页”,
总计:“总计”,
记录:“记录”,
重复项:false,
细胞:“细胞”,
id:“id”
}
});
jqGrid('navGrid','#pager',{del:false,add:false,edit:false,search:false});
jqGrid('filterToolbar',{stringResult:true,searc
jq(function() {
jQuery("#grid").jqGrid({
url:'/ocr/webadmin/crudslsrouting?region='+document.getElementById("selectregion").value,
datatype: 'json',
mtype: 'GET',
colNames:['id', 'weekAndGap', '<fmt:message key="slsrouting.year"/>', '<fmt:message key="slsrouting.week"/>', '<fmt:message key="slsrouting.region"/>', '<fmt:message key="slsrouting.dayOfWeek"/>', '<fmt:message key="slsrouting.timeFrom"/>', '<fmt:message key="slsrouting.timeto"/>', '<fmt:message key="slsrouting.1stTechnician"/>', '<fmt:message key="slsrouting.1stTechnicianNumber1"/>', '<fmt:message key="slsrouting.1stTechnicianNumber2"/>', '<fmt:message key="slsrouting.2ndTechnician"/>', '<fmt:message key="slsrouting.2ndTechnicianNumber1"/>', '<fmt:message key="slsrouting.2ndTechnicianNumber2"/>', '<fmt:message key="slsrouting.3rdTechnician"/>', '<fmt:message key="slsrouting.3rdTechnicianNumber1"/>', '<fmt:message key="slsrouting.3rdTechnicianNumber2"/>', '<fmt:message key="slsrouting.smsGroup"/>'],
colModel:[
{name:'id',index:'id', width:55,editable:false,editoptions:{readonly:true},hidden:true},
{name:'weekAndGap',index:'weekAndGap', width:55,editable:false,editoptions:{readonly:true},hidden:true},
{name:'year',index:'year', width:25,editable:false,editoptions:{readonly:true},hidden:true},
{name:'week',index:'week', width:25,sorttype: 'integer',editable:true, editrules:{required:true}},
{name:'region',index:'region', width:55,editable:true,editoptions:{required:true}},
{name:'dayOfWeek',index:'dayOfWeek', width:50,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"Monday:Monday;Tuesday:Tuesday;Wednesday:Wednesday;Thursday:Thursday;Friday:Friday;Saturday:Saturday;Sunday:Sunday"}},
{name:'timeFrom',index:'timeFrom', width:40,editable:true, editrules:{required:true}, editoptions:{dataInit: function (el) {jq(el).timepicker({});}}},
{name:'timeTo',index:'timeTo', width:40,editable:true, editrules:{required:true}, editoptions:{dataInit: function (el) {jq(el).timepicker({});}}},
{name:'technicianId1',index:'technicianId1', width:70,editable:true, editrules:{required:true}, edittype:"select"},
{name:'technician1PhoneNumber1',index:'technician1PhoneNumber1', width:70,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"-:-;Office Phone:Office Phone;Mobile Phone:Mobile Phone;Other Phone:Other Phone"}},
{name:'technician1PhoneNumber2',index:'technician1PhoneNumber2', width:70,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"-:-;Office Phone:Office Phone;Mobile Phone:Mobile Phone;Other Phone:Other Phone"}},
{name:'technicianId2',index:'technicianId2', width:70,editable:true, editrules:{required:true}, edittype:"select"},
{name:'technician2PhoneNumber1',index:'technician2PhoneNumber1', width:70,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"-:-;Office Phone:Office Phone;Mobile Phone:Mobile Phone;Other Phone:Other Phone"}},
{name:'technician2PhoneNumber2',index:'technician2PhoneNumber2', width:70,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"-:-;Office Phone:Office Phone;Mobile Phone:Mobile Phone;Other Phone:Other Phone"}},
{name:'technicianId3',index:'technicianId3', width:70,editable:true, editrules:{required:true}, edittype:"select"},
{name:'technician3PhoneNumber1',index:'technician3PhoneNumber1', width:70,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"-:-;Office Phone:Office Phone;Mobile Phone:Mobile Phone;Other Phone:Other Phone"}},
{name:'technician3PhoneNumber2',index:'technician3PhoneNumber2', width:70,editable:true, editrules:{required:true}, edittype:"select", editoptions:{value:"-:-;Office Phone:Office Phone;Mobile Phone:Mobile Phone;Other Phone:Other Phone"}},
{name:'smsGroupId',index:'smsGroupId', width:70,editable:true, editrules:{required:true}, edittype:"select"}
],
editurl: "/ocr/webadmin/crudslsrouting/edit",
rowNum:300,
rowList:[300,600,900,1200],
height: 400,
autowidth: true,
rownumbers: true,
pager: '#pager',
viewrecords: true,
caption:"SL Routing",
emptyrecords: '<fmt:message key="common.emptyRecords"/>',
async: false,
loadonce: true,
loadComplete: function() {
if(document.getElementById("defaultRegion").value!='ALL' ||
(document.getElementById("selectregion").value!="" && document.getElementById("selectregion").value!="ALL")){
var regionValue=document.getElementById("selectregion").value;
getNicknameList(regionValue);
getSmsgroupList(regionValue);
//testIfNoWeek0ForSLAndRegion(regionValue);
}
//testIfWeek0TotallyCovered();
},
loadError : function(xhr,st,err) {
jQuery("#rsperror").html("Type: "+st+"; Response: "+ xhr.status + " "+xhr.statusText);
},
grouping:true,
groupingView : { groupField : ['weekAndGap'],
groupDataSorted : true,
groupColumnShow : [false],
groupCollapse : true,
groupText : ['<fmt:message key="slsrouting.week"/> {0} <fmt:message key="slsrouting.covered"/> - {1} Item(s) <a class="ui-group-div ui-corner-all" href="Javascript:DuplicateAllTheWeek(\'{0}\');"><span class="ui-duplicate-image-link"></span> <fmt:message key="slsrouting.duplicate"/></a> <a class="ui-group-div ui-corner-all" href="Javascript:DeleteWeek(\'{0}\');"><span class="ui-delete-button-link"></span> <fmt:message key="common.delete"/></a> ']
},
jsonReader : {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
cell: "cell",
id: "id"
}
});
jq("#grid").jqGrid('navGrid','#pager',{del:false,add:false,edit:false,search:false});
jq("#grid").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false,
afterSearch : function(){
if(jq("#gs_StateFull").val() == "") {
jq("#grid").jqGrid('setGridParam',{groupingView: { groupCollapse : true} }).trigger('reloadGrid');
} else {
jq("#grid").jqGrid('setGridParam',{groupingView: { groupCollapse : false} }).trigger('reloadGrid');
}
}
});
jq("#grid").navButtonAdd('#pager',
{ caption:'<fmt:message key="common.add"/>',
buttonicon:"ui-icon-plus",
onClickButton: addRow,
position: "last",
title:"",
cursor: "pointer"
}
);
jq("#grid").navButtonAdd('#pager',
{ caption:'<fmt:message key="common.edit"/>',
buttonicon:"ui-icon-pencil",
onClickButton: editRow,
position: "last",
title:"",
cursor: "pointer"
}
);
jq("#grid").navButtonAdd('#pager',
{ caption:'<fmt:message key="common.delete"/>',
buttonicon:"ui-icon-trash",
onClickButton: deleteRow,
position: "last",
title:"",
cursor: "pointer"
}
);
});