现在的位置: 首页 > 综合 > 正文

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

2011年05月01日 ⁄ 综合 ⁄ 共 1436字 ⁄ 字号 评论关闭

     具体的流程设计的总体思路是这样的:

     通过一套类似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);

   }

  }

抱歉!评论已关闭.