日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何:在OpenText Workflow 6.5模型中保存和读取多行数据

發布時間:2025/6/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何:在OpenText Workflow 6.5模型中保存和读取多行数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Captaris Workflow 6.0和之前的版本中,保存多行數據似乎沒有被提及,因此大部分(包括我的團隊)都要自己建立(利用IDE的向導也算)數據庫來保存訂單項、物品列表、人員列表這樣的多行集合。這一切在6.5都已解決,流程開發者可以保存多行的事省下些腦細胞。不過從應用的情況來看,還是要費一些腦細胞的。下面用示例展示如何保存。

1.在設計流程時加入一個XML對象。

2.新增一行數據:

Teamplate.BLL.IModelXML oXml = this.Process.GetXmlObject("Common"); //”Common”是在前一步加入的XML對象名。
XmlDocument oDoc = new XmlDocument();
oDoc.LoadXml(oXml.XmlString);

XmlNode oE = oDoc.SelectSingleNode("Common/Form/Items");
//創建"Item"元素
XmlElement oEl = oDoc.CreateElement("Item");
//員工編號
oEl.SetAttribute("Code", this.drpEmployees.SelectedItem.Value);
//姓名
oEl.SetAttribute("Name", this.drpEmployees.SelectedItem.Text);
//補卡時間
DateTime time = DateTime.ParseExact(this.txtCheckDate.Text, "yyyy-MM-dd", null);
time = time.AddHours(int.Parse(this.txtCheckHour.Text));
time = time.AddMinutes(int.Parse(this.txtCheckMinute.Text));
oEl.SetAttribute("CheckTime", time.ToString("yyyy-MM-dd HH:mm"));
//原因
oEl.SetAttribute("Purpose", this.txtPurpose.Text);
//本月已補次數
oEl.SetAttribute("Times", this.txtTimes.Text);
//補卡類型
oEl.SetAttribute("CheckType", this.drpCheckType.SelectedItem.Text);

oE.AppendChild(oEl);


oXml.XmlString = oDoc.InnerXml;
oDoc = null;
//更新顯示申請人列表
//this.LoadCheckItems();

?

3.顯示列表數據:

XmlDocument oDoc = new XmlDocument();
oDoc.LoadXml(this.Process.GetXmlObject("Common").XmlString);
XmlNode nItems = oDoc.SelectSingleNode("Common/Form/Items");
string timesXml = nItems.OuterXml;
oDoc = null;

DataSet ds = new DataSet(“”);
Captaris.Workflow.Xml.DataSetXmlAdapter oA = new Captaris.Workflow.Xml.DataSetXmlAdapter(ds);
oA.ReadXml(xml);

//將數據集綁定到GridView

this.grdTimes.DataSource = ds;
this.grdTimes.DataBind();

4.移除一行:

private void RemoveCheckItem(int i)
{
??? Teamplate.BLL.IModelXML oXml = this.Process.GetXmlObject("Common");
??? XmlDocument oDoc = new XmlDocument();
??? oDoc.LoadXml(oXml.XmlString);
??? XmlNode nItems = oDoc.SelectSingleNode("Common/Form/Items");
??? string timesXml = nItems.OuterXml;

??? DataSet ds = new DataSet();
??? Captaris.Workflow.Xml.DataSetXmlAdapter oA = new Captaris.Workflow.Xml.DataSetXmlAdapter(ds);
??? oA.ReadXml(timesXml);

??? if (ds.Tables.Count < 1)
??? {
??????? ds = null;
??????? return;
??? }

??? ds.Tables[0].Rows[i].Delete();
??? ds.Tables[0].AcceptChanges();
??? //System.IO.StringWriter writer = new System.IO.StringWriter();
??? //ds.Tables[0].WriteXml(writer);

??? //nItems.InnerXml = writer.ToString();
??? nItems.InnerXml = "";
??? this.NewCheckItem(oDoc, ds.Tables[0]);
??? oXml.XmlString = oDoc.OuterXml;
??? //writer.Close();
??? oDoc = null;
}

我覺得上面的代碼太多了,為了節省您的腦細胞,我對XML操作封裝成一個類,可以在此下載它。

轉載于:https://www.cnblogs.com/Johnson/archive/2009/11/17/1604448.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的如何:在OpenText Workflow 6.5模型中保存和读取多行数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。