MVC 表格按树状形式显示 jstree jqgrid
2024-09-07 12:50:37
1. 界面顯示
2.前端 jqgrid 代码
//加载表格
function GetGrid() {
var selectedRowIndex = 0;
var $gridTable = $('#gridTable');
$gridTable.jqGrid({
url: "../../BaseManager/Organize/GetTreeListJson",
datatype: "json",
height: $(window).height() - 108.5,
colModel: [
{ label: '主键', name: 'OrganizeId', hidden: true },
{ label: "公司名称", name: "FullName", width: 300, align: "left", sortable: false },
{ label: "外文名称", name: "EnCode", width: 150, align: "left", sortable: false },
{ label: "中文名称", name: "ShortName", width: 150, align: "left", sortable: false },
{ label: "公司性质", name: "Nature", width: 100, align: "left", sortable: false },
{
label: "成立时间", name: "FoundedTime", width: 100, align: "left", sortable: false,
formatter: function (cellvalue, options, rowObject) {
return formatDate(cellvalue, 'yyyy-MM-dd');
}
},
{ label: "负责人", name: "Manager", width: 100, align: "left", sortable: false },
{ label: "经营范围", name: "Businessscope", width: 200, align: "left", sortable: false },
{ label: "备注", name: "Description", width: 200, align: "left", sortable: false }
],
treeGrid: true,
treeGridModel: "nested",
ExpandColumn: "EnCode",
rowNum: "all",
rownumbers: true,
onSelectRow: function () {
selectedRowIndex = $("#" + this.id).getGridParam('selrow');
},
gridComplete: function () {
$("#" + this.id).setSelection(selectedRowIndex, false);
}
});
3.后端controllers
/// <summary>
/// 机构列表
/// </summary>
/// <param name="condition">查询条件</param>
/// <param name="keyword">关键字</param>
/// <returns>返回树形列表Json</returns>
[HttpGet]
public ActionResult GetTreeListJson(string condition, string keyword)
{
var data = NewObject<OrganizeLogic>().GetListByCache().datas;
if (!string.IsNullOrEmpty(condition) && !string.IsNullOrEmpty(keyword))
{
#region 多条件查询
switch (condition)
{
case "FullName": //公司名称
data = data.TreeWhere(t => t.FullName.Contains(keyword), "OrganizeId");
break;
case "EnCode": //外文名称
data = data.TreeWhere(t => t.EnCode.Contains(keyword), "OrganizeId");
break;
case "ShortName": //中文名称
data = data.TreeWhere(t => t.ShortName.Contains(keyword), "OrganizeId");
break;
case "Manager": //负责人
data = data.TreeWhere(t => t.Manager.Contains(keyword), "OrganizeId");
break;
default:
break;
}
#endregion
}
var treeList = new List<TreeGridEntity>();
foreach (OrganizeEntity item in data)
{
TreeGridEntity tree = new TreeGridEntity();
bool hasChildren = data.Count(t => t.ParentId == item.OrganizeId) == ? false : true;
tree.id = item.OrganizeId.ToConvertString();
tree.hasChildren = hasChildren;
tree.parentId = item.ParentId.ToString();
tree.expanded = false;
tree.entityJson = JsonHelper.ToJson(item);
treeList.Add(tree);
}
return Content(treeList.TreeJson());
}
4.Json 数据
最新文章
- window.onload和$(document).ready(function(){})的区别
- 使用Application对象简单完成网站总访问人数的统计
- 如何用Jupyter Notebook打开Spark
- js断点调试心得
- .Net Framework源码
- fgets函数执行完成后,文件指针如何移动?
- [Node.js] ECMAScript 6中的生成器及koa小析
- google地图引入网页
- 菜鸟学习Spring——60s使用annotation实现简单AOP
- spring3中新增的@value注解
- iPhone 3GS/4 / 4s/5
- FP树(附)
- js戳和php戳时间换算
- 分享一个好用的tmux配置文件
- Oracle列转行函数使用
- HDFS的命令
- 多线程安全单例模式学习代码 c++11
- 通信对象 System.ServiceModel.Channels.ServiceChannel 无法用于通信,因为其处于“出错”状态。
- [转]获取JAVA[WEB]项目相关路径的几种方法
- HTTP Status 500 PWC6188 jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application