//扩展表格,支持上传附件 function extendDataGrid(){ //扩展表格方法,合并单元格 ,参数为数组 $.extend($.fn.datagrid.methods, { autoMergeCells : function (jq, fields) { return jq.each(function () { var target = $(this); if (!fields) { fields = target.datagrid("getColumnFields", true).concat(target.datagrid("getColumnFields")); } var rows = target.datagrid("getRows"); var i = 0, j = 0, temp = {}; for (i; i < rows.length; i++) { var row = rows[i]; j = 0; for (j; j < fields.length; j++) { var field = fields[j]; var tf = temp[field]; if (!tf) { tf = temp[field] = {}; tf[row[field]] = [i]; } else { var tfv = tf[row[field]]; if (tfv) { tfv.push(i); } else { tfv = tf[row[field]] = [i]; } } } } $.each(temp, function (field, colunm) { $.each(colunm, function () { var group = this; if (group.length > 1) { var before,after, megerIndex = group[0]; for (var i = 0; i < group.length; i++) { before = group[i]; after = group[i + 1]; if (after && (after - before) == 1) { continue; } var rowspan = before - megerIndex + 1; if (rowspan > 1) { target.datagrid(‘mergeCells‘, { index : megerIndex, field : field, rowspan : rowspan }); } if (after && (after - before) != 1) { megerIndex = after; } } } }); }); }); } }); //表格编辑列为文件上传框 $.extend($.fn.datagrid.defaults.editors, { filebox: { init: function(container, options){ var index=container.closest(".datagrid-row").attr("datagrid-row-index"); var formname="form_"+index; var formhtml=$("<form id=‘"+formname+"‘ name=‘"+formname+"‘ method=‘post‘ action=‘${ctx}/khyj/ks/savedata_form‘ ENCTYPE=‘multipart/form-data‘> </form>").appendTo(container); //<input type=‘submit‘ value=‘提交‘> var inputhidden=$("<input id=‘data_hidden‘ type=‘hidden‘ value=‘‘ />").appendTo(formhtml); var input = $(‘<input class="easyui-filebox" style="width:90%;height:30px" data-options="prompt:\‘选择一个文件...\‘,buttonText:\‘选择文件\‘" > ‘).appendTo(formhtml); //datagrid-editable-input $.parser.parse(container.parent()); //解析 return input; }, getValue: function(target){ setinputfile(target); //将 文件选择控件保存 var text=$(target).filebox(‘getText‘); if(text=="") text=null; return text; }, setValue: function(target, value){ $(target).filebox(‘setText‘,value); }, resize: function(target, width){ var width=$(target).closest("td").width(); width=width*0.9; $(target).filebox(‘resize‘,width); } } }); //覆盖默认方法 $.fn.datagrid.defaults.editors.textarea.getValue= function(target){ var value=$(target).val(); if(value.trim()=="") value=null; return value; } }
时间: 2024-10-13 00:24:50