[C#.NET][Infopath 2010] 如何在 VSTA 中套用公式
上篇[Infopath 2010] 控制項資料過濾,提到了過濾功能,Infopath有一個很貼心的功能,就是它可以顯示XPath,我們就可以把這串公式弄到程式裡面,
接下來我們來實際演練一下
public void CTRL41_5_Clicked(object sender, ClickedEventArgs e)
{
XPathNavigator root = MainDataSource.CreateNavigator();
string queryString = "../my:source[. = '高雄市']";
//因為要過濾source欄位的資料所以先建立一個source節點
XPathNavigator source = root.SelectSingleNode("/my:myFields/my:source", this.NamespaceManager);
try
{
//檢查公氏有無錯誤
XPathExpression expression = source.Compile(queryString);
//query是存放問句結果
XPathNavigator query = source.SelectSingleNode(queryString, this.NamespaceManager);
//顯示結果
XPathNavigator field2 = source.SelectSingleNode("/my:myFields/my:field2", this.NamespaceManager);
field2.SetValue(query.Value);
}
catch (Exception ex)
{
Debug.Write(ex.Message);
}
}
XPathExpression 類別表示已編譯的 XPath 運算式,如果它發生例外表示格式不對。
Note:試了半天次要資料庫卻沒有辦法這樣做,可能資料結構不太一樣,晚了先休息。
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET