电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

U9技术文档-范例-U9研发体系(个性化栏目设置).PDFVIP免费

U9技术文档-范例-U9研发体系(个性化栏目设置).PDF_第1页
1/8
U9技术文档-范例-U9研发体系(个性化栏目设置).PDF_第2页
2/8
U9技术文档-范例-U9研发体系(个性化栏目设置).PDF_第3页
3/8
U9 个性化栏目设置范例说明 版 本 号 :V1.0 作者:张璋 版本记录 【此部分要记录该文档形成过程中的历次版本变更过程及变更的内容】 版本 修改与参与人 修改时间 修改原因 修改概述 审批人1.0 张璋 2008/07/02 原始文档建立 一.问题域说明 ASP.NET 个性化涉及的方面很广,本范例主要讲解 WebPart 级个性化栏目设置主题,并通过示例说明怎样共享单个 WebPart 个性化信息。本文仅讨论涉及到的内容,对于 ASP.NET个性化的详细讨论请参见 MSDN 或其他资源。 个性化栏目的应用场景主要集中在 Grid 待选栏目数量较大(通常会超过 50 个),需要区分不同的操作人员进行适配的场景。 二.基本原理 1.个性化设置 借助 MS 提供的 WebPart 个性化属性(Personalizable),将个性化数据序列化到ASP.NET2.0 个性化数据表中,再通过反序列化将其读取到相应的 WebPart 供使用。需要注意的是,由于 Personalizable 是在特定 WebPart 中设置,对于当前 WebPart,MS 内部封装了读取过程,对于其它 WebPart 需要获取特定页面个性化信息的场景,需要额外采取其他方式进行读取和反序列化处理。 涉及的个性化数据表如下图所示: 其中: � aspnet_Applications 存储应用。虚拟目录名称,在 U9 产品中一般为“/Portal”。 � aspnet_Users 存储登录用户。Portal 中的登录用户。 � aspnet_Paths 存储菜单节点名称。本案例为:“FI.AR.Process.ARApply.ARApply” � aspnet_PersonalizationPerUser 用户相关的存储个性化信息。最为重要的是“PageSettings”数据项。 2.动态创建 Grid 列 利用 UBF 提供的 API,按照 Grid 列的类型封装创建类实现。 三.关键代码及说明 1.动态创建 Grid 的相关封装类简介 注:代码参见:“U9.VOB.PD.CBO\FI\Code\UFIDA.U9.CBO.UIHelper\DynamicGrid” 1.1 Class 目录 � ColumnInfo:用于序列化的栏目信息。 � DynamicGridControl:移动栏目的按钮信息。 � InputParam:创建 Grid 列使用的列类型信息。 1.2 Personalization 目录 � PersonalizationColumn:用于 UI 与 DB 交互数据的中介类:仅用于数据传递。 � PersonalizationHelper:栏目设置个性化类。 � SerializableDictionaryForUI:支持 XML 序列化的泛型 Dictionary 1.3 相对根目录 � ColumnSetting:栏目设置信息(包含默认栏目、栏目名称等) � CreateColumn:根据不同的列类型创建 Grid 列的具体实现。 � DynamicGridHelper:用于和 UIView 交互栏目信息。 � DynamicGridInteractionHelper:为了 Grid 移动记录构建构建的辅助类。 2.创建个性化栏目的基本流程 注:提供了类名及方法信息。均来自“U9UICode\U9.VOB.PD.FI\AR\Code\ARApplyUI” 3.关键代码说明 /// /// 直接从数据库获取用户自定义的个性化数据 /// /// 当前WebPart /// 当前WebPart的菜单标识 /// 个性化数据 public static PersonalizationColumn GetColumnByDB(BaseWebForm currentPart, UFIDA.U9.CBO.UIHelper.DynamicGrid.ColumnSetting.ApplyInUIPage applyInUIPage) { #region 查询变量。 string path = string.Empty; switch (applyInUIPage) { case ColumnSetting.ApplyInUIPage.ARApply: path = "FI.AR.Process.ARApply.ARApply"; break; case ColumnSetting.ApplyInUIPage.APApply: path = "FI.AP.Process.APApply.APApply"; break; } //当前登录用户。 string userName = PDContext.Current.UserCode; //当前应用。 string appName = currentPart.Page.Request.ApplicationPath; #endregion PersonalizationColumn result = new PersonalizationColumn(); //由于U9支持分布式部署,所以强制获取Portal数据库配置。 string conStr = System.Web.Configuration.WebConfigurationManager.ConnectionStrin...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

U9技术文档-范例-U9研发体系(个性化栏目设置).PDF

您可能关注的文档

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信