当前位置: 首页 > 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无缝覆盖难题
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • C++入门教程(10):for 语句
  • CSS居中完全指南——构建CSS居中决策树
  • ES6核心特性
  • go append函数以及写入
  • idea + plantuml 画流程图
  • JS变量作用域
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Redis 中的布隆过滤器
  • 从零搭建Koa2 Server
  • 从零开始学习部署
  • 大主子表关联的性能优化方法
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 免费小说阅读小程序
  • 前端之React实战:创建跨平台的项目架构
  • 手写双向链表LinkedList的几个常用功能
  • 用Python写一份独特的元宵节祝福
  • scrapy中间件源码分析及常用中间件大全
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 数据库巡检项
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • #define与typedef区别
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET Core 中插件式开发实现
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .net与java建立WebService再互相调用
  • @angular/cli项目构建--http(2)
  • @Data注解的作用
  • @Query中countQuery的介绍
  • @SuppressWarnings(unchecked)代码的作用
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • [AI]ChatGPT4 与 ChatGPT3.5 区别有多大
  • [BUG]Datax写入数据到psql报不能序列化特殊字符
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)