簡體   English   中英

Infopath 2007-如何在后面的C#代碼中以編程方式設置ScreenTip?

[英]Infopath 2007 - How to set ScreenTip programmatically in C# code behind?

我需要在后面的信息路徑代碼中以編程方式設置信息路徑屏幕提示。 我讀到一些這是不可能的,但是,我做了這樣的事情:

        XPathNavigator field1 = MainDataSource.CreateNavigator().SelectSingleNode(xpath1, NamespaceManager);

        XPathNavigator field2 = MainDataSource.CreateNavigator().SelectSingleNode(xpath2, NamespaceManager);

        if (field1.Value.ToString() == "none")
        {

            this.Errors.Add(field2, "XXX", "XXxxxXX", "xxXXxxXX");

        }

但是我仍然將該字段更改為“不能為空”任何線索嗎?

我遇到了像您一樣的完全相同的問題,卻沒有真正找到一種簡單干凈的解決方案。 我必須檢查是否正確輸入了IBAN。 對我來說,使用額外的字段和方法還不夠干凈,因此我嘗試通過Errors-property進行嘗試,您說這是行不通的。 這是我使用的代碼:

XPathNavigator navigator = MainDataSource.CreateNavigator();
XPathNavigator ibanField = navigator.SelectSingleNode("/my:.../my:.../my:FldIban", NamespaceManager);
Errors.Add(ibanField , "Invalid IBAN", "The given IBAN is not formatted correctly");

希望無論如何對我有幫助。 :)

當value = true時,我用隱藏創建了按鈕和特殊字段,並在true時顯示。

public void CTRL32_7_Clicked(object sender,ClickedEventArgs e){// XPathNavigator test = MainDataSource.CreateNavigator()。SelectSingleNode(“ / my:myFields / my:field11”,NamespaceManager);

        XPathNavigator test2 = MainDataSource.CreateNavigator().SelectSingleNode("my:myFields/my:buttonSet", NamespaceManager);
        if (test2.Value == "FALSE")
        {
            test2.SetValue("TRUE");
        }
        else
        {
            test2.SetValue("FALSE");
        }
        XPathNavigator tooltip = MainDataSource.CreateNavigator().SelectSingleNode("my:myFields/my:tooltip", NamespaceManager);
        tooltip.SetValue("Custom Tooltip DEMO");
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM