1

infopath コード ビハインドでプログラムによって infopath スクリーン ヒントを設定する必要があります。これについては不可能だと読んだことがありますが、次のようなものを作成しました。

        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");

        }

それでも、フィールドを「空白にすることはできません」に変更しますか?

4

2 に答える 2

1

私はあなたとまったく同じ問題に直面しましたが、本当に簡単でクリーンな解決策を見つけることができませんでした。IBANが正しく入力されているかどうかを確認する必要がありました。余分なフィールドとメソッドを操作することは私にとって十分にクリーンではないので、私はエラープロパティを試してみましたが、これは機能しないとあなたは言います。これが私が使用したコードです:

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");

これがとにかく役立つことを願っています、それは私のためになりました。:)

于 2013-03-13T16:24:58.813 に答える
0

値 = 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");
    }
于 2013-02-28T10:22:51.057 に答える