标签:一个 org highlight get grid hid return section str
首先规定前端传入Json格式
格式如下:
{"columns":["列1","列2"],"rows":{"0":{"列1":"1","列2":"2"},"2":{"列1":"11","列2":"22"}}}
前端方法:
定义一个object 对象,用来存储 表格的数据,最后将对象转换成Json传递给后台
var obj = {};
//存储行信息
obj["columns"] = F.ui.Grid1.fields;
//用于存储行值
var objrows = {};
//通过遍历行数据,将行值存储 objrows对象
F.ui.Grid1.resolveRow(function (a) { objrows[a.index] = a.values });
//删除多余 objrows中的值(可能来源于样式等等)
for (var i in objrows)
{
delete objrows[i]["样式1"];
}
//用于存储 所有行
obj["rows"] = objrows;
//调用 post提交函数
doCustomPost(obj);
FineUi 添加 Post请求,官方文档地址:https://mvc.fineui.com/#/Grid/ExcelRowCommandDownload
案例前端页面:
// .net mvc 在 section body 中添加
//ExportToExcel 是控制器方法名,ExcelRowCommandDownload 是控制器
@using (Html.BeginForm("ExportToExcel", "ExcelRowCommandDownload", FormMethod.Post, new { id = "myform" }))
{
@Html.AntiForgeryToken()
<input type="hidden" name="content" />
}
JS doCustomPost 函数
function doCustomPost(rowData) { // 自定义POST请求 var myform = $(‘#myform‘); myform.find(‘[name=content]‘).val(F.toJSON(rowData)); myform[0].submit(); }
后端解析 Json
[HttpPost] [ValidateAntiForgeryToken] public DataTable ExportToExcelPost(string content) { JObject jarry = (JObject)JsonConvert.DeserializeObject(content); var dataTable =GetDataTableByJson(jarry["columns"],jarry["rows"]); return dataTable; }
关于 Json转DataTable GetDataTableByJson方法的,请转到这:https://www.cnblogs.com/Alex-Mercer/p/11858640.html
FineUI MVC 前端获取表格Json通过Post传递后台
标签:一个 org highlight get grid hid return section str
原文地址:https://www.cnblogs.com/Alex-Mercer/p/11858828.html