0
我有一個InfoPath 2010表單來創建一個新的Sharepoint列表項。本質上,該表單具有一個輸入字段和一個輸出字段。如果在輸入字段中輸入了某些內容,則執行一些計算,我希望結果顯示在輸出字段中。由於計算有點複雜,我需要在代碼中執行,而不是通過規則。在基於代碼的計算後刷新InfoPath字段
private void CalculateOutput()
{
XPathNavigator main = MainDataSource.CreateNavigator();
XPathNavigator service = main.SelectSingleNode("my:meineFelder/my:serviceValue", NamespaceManager);
double serviceValue = service.ValueAsDouble;
double output = 3*serviceValue; // much abbreviated version
// output now has the correct value
XPathNavigator outputNav = main.SelectSingleNode("my:meineFelder/my:output", NamespaceManager);
//Remove the "nil" attribute (otherwise we get an error when the field is a double instead of a string)
if (outputNav.MoveToAttribute("nil", "http://www.w3.org/2001/XMLSchema-instance")) outputNav.DeleteSelf();
outputNav.SetValue(output.ToString());
}
我的問題是,一切工作正常在InfoPath預覽,但一旦我部署的形式,並在瀏覽器的輸出字段沒有更新運行它,也就是我看不到我的計算結果。
我試過了.ReplaceSelf(用OuterXML),結果爲零。我也玩過將結果分配給另一個字段,從而發射「設置字段值」規則,也無濟於事。
如果我提交表單,輸出值保存確定,但我真的很希望用戶在提交之前看到輸出字段。
任何想法? Thx很多。