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 数据

最新文章

  1. window.onload和$(document).ready(function(){})的区别
  2. 使用Application对象简单完成网站总访问人数的统计
  3. 如何用Jupyter Notebook打开Spark
  4. js断点调试心得
  5. .Net Framework源码
  6. fgets函数执行完成后,文件指针如何移动?
  7. [Node.js] ECMAScript 6中的生成器及koa小析
  8. google地图引入网页
  9. 菜鸟学习Spring——60s使用annotation实现简单AOP
  10. spring3中新增的@value注解
  11. iPhone 3GS/4 / 4s/5
  12. FP树(附)
  13. js戳和php戳时间换算
  14. 分享一个好用的tmux配置文件
  15. Oracle列转行函数使用
  16. HDFS的命令
  17. 多线程安全单例模式学习代码 c++11
  18. 通信对象 System.ServiceModel.Channels.ServiceChannel 无法用于通信,因为其处于“出错”状态。
  19. [转]获取JAVA[WEB]项目相关路径的几种方法
  20. HTTP Status 500 PWC6188 jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

热门文章

  1. AQS(抽象队列同步器)
  2. emmet的用法
  3. 【JavaWeb】Ajax基础
  4. Oracle 12c报错:ORA-01078和LRM-00109的解决办法
  5. emacs 矩形操作
  6. 深浅拷贝及 join set
  7. monkey参数
  8. jmeter连接不上MySQL数据库的原因以及解决方法
  9. UVA11374 Airport Express 正反两次最短路
  10. Django 连接数据库