private void initTache() { DataTable dt; //任务名称 obj = DBOpt.dbHelper.ExecuteScalar("select f_desc from DMIS_SYS_PACK where F_NO=" + ViewState["PackNo"].ToString()); if (obj != null) { tdPackName.InnerText = obj.ToString(); } //当前环节 obj = DBOpt.dbHelper.ExecuteScalar("select f_flowname from dmis_sys_workflow where f_packno=" + ViewState["PackNo"].ToString() + " and f_flowno=" + ViewState["CurLinkNo"].ToString()); if (obj != null) { tdCurrentTacheName.InnerText = obj.ToString(); } //列出本环节下面的所有步骤, //如果是退回的情况下,有的环节发送了,故只显示还没有发送(即退回分支的环节) _sql = "select F_NO,F_NAME from DMIS_SYS_FLOWLINK where F_PACKTYPENO=" + ViewState["PackTypeNo"] + " and F_NO IN (" + "select F_ENDNO from DMIS_SYS_FLOWLINE where F_PACKTYPENO=" + ViewState["PackTypeNo"] + " and F_STARTNO=" + ViewState["CurLinkNo"] + ")"; dt = DBOpt.dbHelper.GetDataTable(_sql); DataColumn[] key1 = new DataColumn[1]; key1[0] = dt.Columns["F_NO"]; dt.PrimaryKey = key1; //显示已经发送的环节. _sql = "select f_flowno,f_flowname from dmis_sys_workflow where f_packno=" + ViewState["PackNo"].ToString() + " and (f_status='1' or f_status='2') " + " and f_flowno in (select F_ENDNO from DMIS_SYS_FLOWLINE where F_PACKTYPENO=" + ViewState["PackTypeNo"] + " and F_STARTNO=" + ViewState["CurLinkNo"] + ")"; DataTable haveSendTache = DBOpt.dbHelper.GetDataTable(_sql); //去掉已经发送的分支 DataRow row; for (int i = 0; i < haveSendTache.Rows.Count; i++) { row = dt.Rows.Find(haveSendTache.Rows[i][0]); if (row != null) { dt.Rows.Remove(row); } } //找出满足条件的环节 string LinkNo; DataTable target = dt.Clone(); for (int i = 0; i < dt.Rows.Count; i++) { LinkNo = DBOpt.dbHelper.ExecuteScalar("select f_no from dmis_sys_flowline where F_STARTNO=" + ViewState["CurLinkNo"] + " and F_ENDNO=" + dt.Rows[i]["F_NO"].ToString()).ToString(); if (WebWorkFlow.LinkGetCondition(ViewState["PackTypeNo"].ToString(), LinkNo, ViewState["PackNo"].ToString(), ViewState["CurWorkFlowNo"].ToString(), ViewState["TableName"].ToString(), ViewState["RecNo"].ToString())) { DataRow row2 = target.NewRow(); row2[0] = dt.Rows[i]["F_NO"]; row2[1] = dt.Rows[i]["F_NAME"]; target.Rows.Add(row2); } } //再绑定 if (target.Rows.Count > 0) { rblTache.DataTextField = "F_NAME"; rblTache.DataValueField = "F_NO"; rblTache.DataSource = target; rblTache.DataBind(); rblTache.SelectedIndex = 0; rblTache_SelectedIndexChanged(null, null); } }