最近在使用jqGrid展示数据,上传图片功能花费了很长时间来实现,记录下来以便下次查阅。
jqGrid的colModel中有很多属性,如果需要上传图片,那么需要添加如下属性:
name : "url",
index : "url",
formatter : showPicture,
editable : true,
edittype : 'file',
editoptions:{enctype:"multipart/form-data"},
width : 40,
需要自定义函数showPicture:
function showPicture(cellvalue, options, rowObject){
return "<img src='" +cellvalue + "' height='50' width='50' />";
}
上传文件的ajaxUploadFile:
$.ajaxFileUpload
(
{
url: 'http://localhost:8080/upload',
secureuri: false,
fileElementId: 'url',
dataType: 'json',
data: { id: id},
success: function (data) {
}
}
再提交编辑框的时候调用这个函数,就可以将文件提交给这里的url,在后台进行保存,处理即可。
刚开始用jqGrid时候确实不太适应,功能太强大,以至于好多方法使用起来不是太了解,现在一个一个的攻克难点后,发现其实这个框架的扩展性确实很强,刚开始不熟练只能用它固定的样式,希望以后可以更加熟练的运用它。