[C#.NET][Infopath 2007] 使用 XPathNodeIterator 讀取欄位
如果在Infopath裡有像這樣的資料欄位,
fields是一個重複表格
利用以下程式碼,不管使用者動態增加了幾列資料,都能夠將它撈出來。
public void GetValue_Clicked(object sender, ClickedEventArgs e)
{
//1.定義資料庫
XPathNavigator root = MainDataSource.CreateNavigator();
//2.定義群組名稱
XPathNodeIterator fields = root.Select("/my:myFields/my:group/my:fields", NamespaceManager);
string str =string.Empty;
//3.定義RichTextBox欄位
XPathNavigator RichTextBox = root.SelectSingleNode("/my:myFields/my:ShowValue", NamespaceManager);
//列舉欄位資料
while (fields.MoveNext())
{
string id = fields.Current.SelectSingleNode("my:ID", NamespaceManager).Value;
string name = fields.Current.SelectSingleNode("my:Name", NamespaceManager).Value;
str = str +id+ " , " + name + System.Environment.NewLine;
Debug.WriteLine(str);
}
RichTextBox.SelectSingleNode("/my:myFields/my:ShowValue", NamespaceManager).SetValue(str);
}
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET