Javascript 如何在一个jqgrid列中添加两种格式?
在我的数据库中,一列中有两个选项:Javascript 如何在一个jqgrid列中添加两种格式?,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,在我的数据库中,一列中有两个选项: /上载/1369839038.zip 空的 现在我已经格式化了“email”列,所以它显示为一个链接 formatter:function(cellvalue, options, rowObject){ return '<a href="' + cellvalue + '"target="_blank">FILES </a> ' } } formatter:function(单元
formatter:function(cellvalue, options, rowObject){
return '<a href="' + cellvalue + '"target="_blank">FILES </a> '
} }
formatter:function(单元格值、选项、行对象){
返回“”
} }
但是我想让一个格式化程序显示为空,如果它有像这样的“NULL”,或者像我已经有的那样显示为链接。我想将这两种格式组合在一个“附件”列的格式化程序中,以便它根据数据显示,可以是链接,也可以是空白。非常感谢你的帮助
我的JQgrid
$(function(){
$("#list").jqGrid({
url:'request.php',
editurl: "jqGridCrud.php",
datatype: 'xml',
mtype: 'GET',
height: 'AUTO',
width: 850,
scrollOffset:0,
hidegrid: false,
colNames:['id','Project', 'Assigned To','Assign Date','Check Date','Due Date','Attachments','Notes',""],
colModel :[
{name:'id', index:'id', width:28, align: 'center'},
{name:'name', index:'name', width:170, align:'left',editable:true, editoptions:{
size:60} },
{name:'id_continent', index:'id_continent', width:50, align:'right',editable:true,edittype:'select',
editoptions:{value: "Henry:Henry; Ramon:Ramon; Paul:Paul" },mtype:'POST' },
{name:'lastvisit', index:'lastvisit', width:55, align:'right',formatter: 'date',srcformat:'yyyy-mm-dd',newformat: 'm/d/yy',editable:true, edittype: 'text',mtype:'POST' , editoptions:{size:10, dataInit:function(elem){$(elem).datepicker({dateFormat:'m/d/yy'});}}} ,
{name:'cdate', index:'cdate', width:55, align:'right',formatter: 'date',srcformat:'yyyy-mm-dd',newformat: 'm/d/yy', edittype: 'text',editable:true ,mtype:'POST' ,editoptions:{size:10, dataInit:function(elem){$(elem).datepicker({dateFormat:'m/d/yy'});}}} ,
{name:'ddate', index:'ddate', width:55, align:'right',formatter: 'date',srcformat:'yyyy-mm-dd',newformat: 'm/d/yy',date:'true',editable:true, edittype: 'text',editoptions:{size:10, dataInit:function(elem){$(elem).datepicker({dateFormat:'m/d/yy'});}}} ,
{name:'files', index:'files', width:50,align:'center',sortable:false,mtype:'POST',formatter:function(cellvalue, options, rowObject){
return '<a href="' + cellvalue + '"target="_blank">FILES </a> '
} },
{name:'notes', index:'notes', width:100, align:'left',sortable:false, editable:true,edittype:'textarea', editoptions:{
rows:5,cols:60,maxlength:200} },
{name:'act', index:'act',width:30 ,align:'left', sortable:false,formatter: "actions",cellattr: function () { return ' title="Delete Project"'; },
formatoptions: {
keys: true,
deltitle: 'delete',
delbutton: true,
editbutton:false,
delOptions: {
url: 'delete-perm.php',
afterShowForm: function ($form) {
$("#dData", $form.parent()).click();
},
msg: "Remove Selected Project?",
bSubmit: "Remove",
bCancel: "Cancel"
}
}},
],
pager: '#pager',
rowNum:30,
rowList:[30,40,80],
sortname: 'ddate',
sortorder: 'asc',
viewrecords: true,
gridview: true,
caption: 'Current Assignments',
ondblClickRow: function(rowid) {
$(this).jqGrid('editGridRow', rowid,
{width:550,Height:550,recreateForm:true,closeAfterEdit:true,
closeOnEscape:true,reloadAfterSubmit:true, modal:true,mtype:'post',top:350,left: 30});}
});
jQuery.extend(jQuery.jgrid.nav, {
deltitle: '',
delcaption: 'Project Complete'
},{delicon: "ui-icon-circle-check",deltext: "Project Complete"});
$("#list").jqGrid("navGrid", "#pager", { add: false, search: false, refresh:false,edit:false }).navButtonAdd('#pager',{
caption:"Export to Excel",
buttonicon:"ui-icon-save",
onClickButton: function () {
jQuery("#list").jqGrid('excelExport', { url: 'ExportExcel.php' });
},
position:"last"
});
// setup grid print capability. Add print button to navigation bar and bind to click.
setPrintGrid('list','pager','Current Assignments');
});
$(函数(){
$(“#列表”).jqGrid({
url:'request.php',
editurl:“jqGridCrud.php”,
数据类型:“xml”,
mtype:'获取',
高度:“自动”,
宽度:850,
滚动偏移量:0,
希德格里德:错,
colNames:['id','Project','Assigned To','Assign Date','Check Date','Due Date','Attachments','Notes','',
colModel:[
{名称:'id',索引:'id',宽度:28,对齐:'center'},
{名称:'name',索引:'name',宽度:170,对齐:'left',可编辑:true,可编辑选项:{
尺寸:60},
{名称:'id_Continental',索引:'id_Continental',宽度:50,对齐:'right',可编辑:true,编辑类型:'select',
编辑选项:{value:“亨利:亨利;拉蒙:拉蒙;保罗:保罗”},mtype:“波斯特”},
{name:'lastvisit',index:'lastvisit',width:55,align:'right',formatter:'date',srcformat:'yyyy-mm-dd',newformat:'m/d/yy',edittype:'text',mtype:'POST',editoptions:{size:10,dataInit function(elem){$(elem).datepicker({dateFormat:'m/d/yy'});},
{name:'cdate',index:'cdate',width:55,align:'right',formatter:'date',srcformat:'yyyy-mm-dd',newformat:'m/d/yy',edittype:'text',edit:true,mtype:'POST',editoptions:{size:10,dataInit function(elem){$(elem).datepicker({dateFormat:'m/d/yy'});},
{name:'ddate',index:'ddate',width:55,align:'right',formatter:'date',srcformat:'yyyy-mm-dd',newformat:'m/d/yy',date:'true',edittype:'text',editoptions:{size:10,dataInit function(elem){$(elem).datepicker({dateFormat:'m/d/yy'});},
{name:'files',index:'files',width:50,align:'center',sortable:false,mtype:'POST',formatter:function(cellvalue,options,rowObject){
返回“”
} },
{名称:'notes',索引:'notes',宽度:100,对齐:'left',可排序:false,可编辑:true,编辑类型:'textarea',编辑选项:{
行数:5,列数:60,最大长度:200},
{name:'act',index:'act',width:30,align:'left',sortable:false,格式化程序:“actions”,cellattr:function(){return'title=“Delete Project”;},
格式选项:{
凯斯:没错,
deltitle:“删除”,
德尔巴顿:是的,
编辑按钮:错误,
删除选项:{
url:“删除perm.php”,
余波形式:函数($form){
$(“#dData”,$form.parent())。单击();
},
msg:“是否删除所选项目?”,
b提交:“删除”,
取消:“取消”
}
}},
],
寻呼机:“#寻呼机”,
rowNum:30,
行列表:[30,40,80],
sortname:'ddate',
排序器:“asc”,
viewrecords:是的,
gridview:没错,
标题:“当前分配”,
ondblClickRow:函数(rowid){
$(this).jqGrid('editGridRow',rowid,
{宽度:550,高度:550,重新创建表单:true,closeAfterEdit:true,
closeOnEscape:true,reloadAfterSubmit:true,modal:true,mtype:'post',top:350,left:30});}
});
extend(jQuery.jgrid.nav{
deltitle:“”,
delcaption:“项目完成”
},{delicon:“ui图标圆检查”,deltext:“项目完成”});
$(“#列表”).jqGrid(“navGrid”,“#pager”,{add:false,search:false,refresh:false,edit:false}).navButtonAdd(“#pager”{
标题:“导出到Excel”,
按钮图标:“ui图标保存”,
onclick按钮:函数(){
jQuery(“#list”).jqGrid('excelExport',{url:'ExportExcel.php'});
},
位置:“最后”
});
//设置网格打印功能。将打印按钮添加到导航栏并绑定到单击。
setPrintGrid('list'、'pager'、'CurrentAssignments');
});
我不确定是否正确理解了您的问题,但为什么不尝试使用以下自定义格式化程序:
function (cellvalue, options, rowObject) {
if (cellvalue === undefined || cellvalue === null || cellvalue === 'NULL') {
return ' '; // or just ""
}
return '<a href="' + cellvalue + '"target="_blank">FILES </a>';
}
函数(单元格值、选项、行对象){
如果(cellvalue==undefined | | cellvalue===null | | cellvalue===null'){
返回“”;//或仅返回“”
}
返回“”;
}
请接受任何帮助,我们将不胜感激。