当前位置: 首页 > news >正文

.net流程开发平台的一些难点(1)

     具体的流程设计的总体思路是这样的:
     通过一套类似viso流程图的设计工具,通过简单的拖拉和节点的控制实现流程的扭转。在流程的画制的同时实现在后台数据库中存储该流程的扭转的相关数据。在整个流程与一个表单联相连。然后表单联中有不同的表单。实现不同的节点与相应的表达相关联。实现数据传输时的权限控制。这样通过各节点与相关的系统角色相连。实现整个的流程的数据通过表单加载数据在各个角色之间进行传递。现在这个想法只是一个初步的思路。现在急需要解决的几个技术上的问题:
    一:实现类似viso流程图的设计器。
   二:实现满足流程中加载数据的表单页面开发的开发工具,具体的就是想封装一些textbox,grid,button等常用的控件。然后通过托到界面上,通过设置一些数据邦定的属性实现表单页面的设计。自动的在后台生成属于该流程的aspx页面。

    上面是一些现在需要解决的技术问题。在我看来这个系统的设计思路不存在问题。只是一些技术上的难点需要解决。所以希望大家和我一起来解决技术上的问题。至于整体的设计方案我会在以后有详细的介绍。现在我关心的就是技术上的核心问题。所以一直没有时间 写整体的设计思路。在整体上会有一个windows服务在后台处理流程设计阶段和使用阶段的数据处理。整个系统实现的目的就是用户可以根据自己的组织结构和用户层次的需要自行设计组织机构和角色。然后进行表单的设计—〉流程的绘制 然后形成在web上的一套asp.net 的程序。今天就想到这么多。写了一段个cs下 tree的递归算法放在上面。也许在系统中会用到很多的树型菜单所以我会把这个封装起来的。
/// <summary>
  /// 递归得到树
  /// </summary>
  /// <param name="ParentID"></param>
  /// <param name="td"></param>
  public void BuildTree(string ParentID,TreeNode td)
  {
   TreeNode tempNode=null;
   string selectString=null;
   string tabString=null;
   string textString=null;
   string ChildIdString=null;

   selectString="Parent_ID='"+ParentID+"'";
   DataRow[] dataRows=treeDataSet.Tables[0].Select(selectString);  

   foreach(DataRow dr in dataRows)
   {
    tempNode=new TreeNode();
    tabString=dr["Name"].ToString();
    textString=dr["Name"].ToString();
    ChildIdString=dr["ID"].ToString();
    tempNode.Tag=tabString;
    tempNode.Text=textString;
    tempNode.ImageIndex=1;
    tempNode.SelectedImageIndex=2;
    td.Nodes.Add(tempNode);
    BuildTree(ChildIdString,tempNode);

   }
  }

转载于:https://www.cnblogs.com/whxleem/archive/2005/04/16/138889.html

相关文章:

  • Mac OS 的Component技术简介
  • Windows运行机理——线程的机制(2)
  • 这两天用web标准写了个首页样式,放出pp
  • OpenSolaris的精神本质
  • ActiveX分类
  • 通过gem安装rails
  • 辞职了……
  • 从sql2000导入数据到sql2005的问题
  • SqlDataAdapter的几种常用方法
  • 推荐好书《JOEL说软件》
  • WorkFlow 实施记录(1)
  • 客户端效果总结
  • Movie
  • C#.Net一百零一夜(第一夜)
  • 华为成功破解磁悬浮列车WCDMA无缝覆盖难题
  • CAP 一致性协议及应用解析
  • CSS实用技巧干货
  •  D - 粉碎叛乱F - 其他起义
  • JAVA多线程机制解析-volatilesynchronized
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • vue-cli在webpack的配置文件探究
  • Web标准制定过程
  • 观察者模式实现非直接耦合
  • 规范化安全开发 KOA 手脚架
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 将 Measurements 和 Units 应用到物理学
  • 前端存储 - localStorage
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 使用API自动生成工具优化前端工作流
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 通过git安装npm私有模块
  • 硬币翻转问题,区间操作
  • elasticsearch-head插件安装
  • ​queue --- 一个同步的队列类​
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # 飞书APP集成平台-数字化落地
  • #if #elif #endif
  • #pragam once 和 #ifndef 预编译头
  • $.ajax()方法详解
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (C++)八皇后问题
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (八)Spring源码解析:Spring MVC
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (转) ns2/nam与nam实现相关的文件
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .Net6 Api Swagger配置
  • .NET程序员迈向卓越的必由之路
  • .Net中wcf服务生成及调用
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚