RDIFramework.NET V2.7 Web版本号升手风琴+树型文件夹(2级+)方法

RDIFramework.NET V2.7 Web版本号升手风琴+树型文件夹(2级+)方法

  手风琴风格在Web应用很的普遍,越来越多的Web应用都是採用这样的方式来体现各个功能模块,传统的手风琴风格仅仅支持两级模块,当我们的功能模块多于两级时,我们一般採用树来构造功能菜单(我们的框架也提供了这样的方式),但这样的方式没有手风琴效果美观,因此我们採用了手风琴+树的形式来构造“手风琴+树型文件夹(2级+)”界面风格,以展示多级功能菜单,满足用户的要求。Web展示效果例如以下:

  

  要以“手风琴+树型文件夹(2级+)”的风格来展示功能模块,我们须要在“系统配置”的“个性化”设置中进行个性化设置,这儿的设置可针对不同人的爱好进行各自的设置。例如以下图所看到的:

  

  详细实现方式为下面几个步骤:

 一、设置SysConfig.js,添加一个展示方式,例如以下图所看到的: 


 


 二、在newlayout.js中添加一个展现形式的推断,单独推断我们新增的“AccordionTree”展示样式,例如以下图所看到的:

 

  当中的AccordionTree.init();代码例如以下:
       

//手风琴 + tree
var AccordionTree = {
init: function () {
$.each(_menus, function (i, n) {
var cssIcon = ‘icon icon-application_osx‘; //没有设置图标,则取一个默认图标
if (n.iconCls) {
cssIcon = n.iconCls;
}
$(‘#wnav‘).append(‘<div style="padding:0px;" title="‘ + n.text
+ ‘" data-options="border:false,iconCls:\‘‘
+ cssIcon
+ ‘\‘"><ul id="nt‘
+ i
+ ‘"></ul></div>‘);
});
$("#wnav").accordion({
fit: true,
border: false,
onSelect: function (t, i) {
$(‘#nt‘ + i).tree({
lines: false,
animate: true,
data: _menus[i].children,
onClick: function (node) {
if (node.attributes.url != "" && node.attributes.url != ‘#‘) {
addTab(node.text, node.attributes.url + ‘?navid=‘ + node.id, node.iconCls);
} else {
$(‘#nt‘ + index).tree(‘toggle‘, node.target);
}
}
});
}
});
}
};

 三、改动Default.aspx.cs代码,例如以下图所看到的:  


  当中的:GetAccordionTreeJsonByTable代码例如以下:
  

       /// <summary>
/// 依据DataTable生成AccordionTree Json树结构
/// </summary>
/// <param name="tabel">数据源</param>
/// <param name="idCol">ID列</param>
/// <param name="txtCol">Text列</param>
/// <param name="rela">关系字段</param>
/// <param name="pId">父ID</param>
/// <returns>返回json数据</returns>
private string GetAccordionTreeJsonByTable(DataTable tabel, string idCol, string txtCol, string rela, object pId)
{
result += tmpStr;
tmpStr = string.Empty;

if (tabel.Rows.Count <= 0) return result;
tmpStr += "[";
var filer = string.Format("{0}=‘{1}‘", rela, pId);
var rows = tabel.Select(filer);
if (rows.Length > 0)
{
foreach (var row in from row in rows
let moduleType = BusinessLogic.ConvertToInt(row[PiModuleTable.FieldModuleType])
where moduleType == null || moduleType == 2 || moduleType == 3
select row)
{
tmpStr += "{\"id\":\"" + row[idCol] + "\",\"text\":\"" + row[txtCol]
+ "\",\"iconCls\":\"" + BusinessLogic.ConvertToString(row[PiModuleTable.FieldIconCss]).Replace("icon ", "")
+ "\",\"attributes\":{"
+ "\"url\":\"" + row[PiModuleTable.FieldNavigateUrl]
+ "\",\"FullName\":\"" + row[PiModuleTable.FieldFullName]
+ "\"}";
if (tabel.Select(string.Format("{0}=‘{1}‘", rela, row[idCol])).Length > 0)
{
tmpStr += RDIFramework.WebCommon.PublicMethod.GetInt(row[PiModuleTable.FieldExpand]) == 1
? ",\"state\":\"open\""
: ",\"state\":\"closed\"";
tmpStr += ",\"children\":";
GetAccordionTreeJsonByTable(tabel, idCol, txtCol, rela, row[idCol]);
result += tmpStr;
tmpStr = string.Empty;
}
result += tmpStr;
tmpStr = string.Empty;
tmpStr += "},";
}
tmpStr = tmpStr.Remove(tmpStr.Length - 1, 1);
}

tmpStr += "]";
result += tmpStr;
tmpStr = string.Empty;
return result;

}



  至此,我们“手风琴+树型文件夹(2级+)”界面风格整理开发完毕。

  附注:在Default.aspx.cs代码中,我们最初的代码已经有一个名为“GetAccordionTreeJsonByTable”的方法,请将其改名为“GetAccordionJsonByTable”,对应的调用它的地方也要同步改动下就可以。


作者: EricHu
出处: http://www.cnblogs.com/huyong
微博: 腾讯
Email: [email protected]
QQ 交流:406590790
QQ群:16653241
平台博客: 【CSDN】http://blog.csdn.net/chinahuyong
【CNBLOGS】http://www.cnblogs.com/huyong
关于作者:高级project师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方式,多年项目开发与管理经验,曾多次组织并开发多个大型项目,精通DotNet,DB(SqlServer、Oracle等)技术。熟悉Java、Delhpi及Linux操作系统,有扎实的网络知识。在面向对象、面向服务以及数据库领域有一定的造诣。现从事DB管理与开发、WinForm、WCF、WebService、网页数据抓取以及ASP.NET等项目管理、开发、架构等工作。
如有问题或建议,请多多赐教!
本文版权归作者和CNBLOGS博客共同拥有,欢迎转载,但未经作者允许必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,能够通过邮箱或QQ 联系我,很感谢。

时间: 2024-12-15 01:33:18

RDIFramework.NET V2.7 Web版本号升手风琴+树型文件夹(2级+)方法的相关文章

RDIFramework.NET V2.7 Web版本升手风琴+树型目录(2级+)方法

RDIFramework.NET V2.7 Web版本升手风琴+树型目录(2级+)方法 手风琴风格在Web应用非常的普遍,越来越多的Web应用都是采用这种方式来体现各个功能模块,传统的手风琴风格只支持两级模块,当我们的功能模块多于两级时,我们一般采用树来构造功能菜单(我们的框架也提供了这种方式),但这种方式没有手风琴效果美观,因此我们采用了手风琴+树的形式来构造"手风琴+树型目录(2级+)"界面风格,以展示多级功能菜单,满足用户的要求.Web展示效果如下: 要以"手风琴+树型

RDIFramework.NET V2.9版本号 WinFom部分新增与修正的功能

RDIFramework.NET  V2.9版本号 WinFom部分新增与修正的功能 转眼间RDIFramework.NET框架走了快6个年头了,随着一个版本号一个版本号的升级改造,如今已经越来越完美了.使用的客户也越来越多,经受住了大量实战项目的考验! RDIFramework.NET V2.9 WinForm版在2.8的基础上添加与修正了大量功能.包含:对多语言的支持.模块操作权限项设置.添加起始页(对经常使用功能列表在起始页展示).新增新的字典字典管理界面,提供对"树"类型的数据

RDIFramework.NETV2.9版本 Web新增至14套皮肤风格+三套界面组合(共42套皮肤组合)

RDIFramework.NETV2.9版本 Web新增至14套皮肤风格+三套界面组合(共42套皮肤组合) 客户的心声是最重要的,RDIFramework.NET V2.9版本不仅对WinForm版做了大的调整,Web版也彻彻底底的底翻上的优化了一篇,不仅增加了很多的新功能.新特色,用户最期望的界面风格也进行了海量增加.全新改变.这次算对得起观众了!下面我们就展示下Web版本中的皮肤界面风格吧-! RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V2.9 版本震撼发布

web工程中WEB-INF文件夹的重要性

WEB-INF文件夹是受保护的文件夹,外部无法访问这个文件夹内的文件,只有服务器内部才能访问. 重要的服务器初始化核心文件web.xml就这在个文件夹内. 为了达到服务器端访问的目的,我们可以使用action进行转向,我们先去请求一个action,然后由这个action转发到WEB-INF下的页面,这样客户端就可以访问 原文地址:https://www.cnblogs.com/niusdtz/p/9462154.html

RDIFramework.NET V2.9版本 WinFom部分新增与修正的功能

RDIFramework.NET  V2.9版本 WinFom部分新增与修正的功能 转眼间RDIFramework.NET框架走了快6个年头了,随着一个版本一个版本的升级改造,现在已经越来越完美了.使用的客户也越来越多,经受住了大量实战项目的考验! RDIFramework.NET V2.9 WinForm版在2.8的基础上增加与修正了大量功能.包括:对多语言的支持.模块操作权限项设置.增加起始页(对常用功能列表在起始页展示).新增新的字典字典管理界面,提供对“树”类型的数据字典的展示.增加“数

RDIFramework.NET V2.8版本 ━ 开发实例之产品管理(WinForm)

RDIFramework.NET V2.8版本 ━ 开发实例之产品管理(WinForm) 现在,我们使用.NET快速开发整合框架(RDIFramework.NET)来开发一个应用,此应用皆在说明如何使用框架简单快速的进行开发,整合.在这里我们要开发一个产品管理的功能模块,在开发前,我们需要进行数据库的设计,在这儿为了简单说明,我们只涉及到了一张产品表.CASE_PRODUCTINFO(产品信息表) 序号 列 名 数据 类型 长 度 小数 位 标 识 主 键 允许 空 默认值 说 明 1 ID i

RDIFramework.NET V2.9版本多语言的实现

RDIFramework.NET V2.9版本多语言的实现 现在是国际化时代,软件也不能落后.一个公司里很可能会有老外,也可能有台湾的朋友,他们用软件的习惯都不一样,若同样一个软件同时能适应多种语言文化,那是想当的理想了,最起码能比较完善的支持英文版本,大家用起来也会舒服一些. RDIFramework.NET框架中的多语言包,目前是按XML文件的方式进行组织,方便用户自由定义语言包.XML 语言包的好处主要就是客户修改起来容易,直接用记事本就可以修正了,没必要又重新编译源码啥的,非常省事.我们

RDIFramework.NET V3.3 Web版新增日程管理功能模块

功能描述 在RDIFramework.NET V3.3 Web版本我们新增了日程管理.基于月.周.日的日历视图,把安排到每一天的具体时间点,让每一天的时间都充分利用:甚至您也可以把个人非工作事项也安排进来,完全是属于自己的全时间管理.就是将每天的工作和事务安排在日期中,并做一个有效的记录,方便管理日常的工作和事务,达到工作备忘的目的.同时也具有对员工日常工作进行指导.监督的作用. 功能展示 日程管理主界面如下图所示: 各视图效果展示 1.日视图 2.月视图 3.周视图 新增日程 新增日程如下图所

二十一、【.Net开源框架】EFW框架Web前端开发之目录结构和使用FireBug调试方法

回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan.baidu.com/s/1o6MAKCa 前言:前面多章对EFW框架的核心类库作了详细说明,接下来几章将对框架中的前端及界面层功能进一步讲解,前端分为两个部分Web前端和Winform前端,Web前端主要是在Web系统中使用,就是编写Html代码和JS代码开发网页界面,框架推荐的是JqueryEasyUI作为界面框架:W