Сбросить весь узел InfoPath 2007 - PullRequest
0 голосов
/ 04 мая 2011

У меня есть форма InfoPath. То, что я хочу сделать, это кнопка сброса, которая очищает и весь узел заполненных данных. Я видел несколько решений, но это кажется относительно простым запросом страницы. Есть ли быстрый способ восстановить весь узел до его конфигурации по умолчанию?

Заранее спасибо!

Мэтт

1 Ответ

0 голосов
/ 26 мая 2011

Кажется, это решило проблему.

private void ClearNode(XPathNavigator nodeToClear)
{
    if (nodeToClear.HasChildren)
    {
        nodeToClear.MoveToFirstChild();
        do
        {
            ClearNode(nodeToClear);
        } while (nodeToClear.MoveToNext());
        nodeToClear.MoveToParent();
    }
    else
    {
        nodeToClear.SetValue(string.Empty);
    }
}

После этого вы просто вызываете любой узел, который хотите очистить, и передаете его как XPathNavigator, и все, и вы уходите. Это решило все, что я хранил, но мне любопытно, как он справится со сбросом полей со значениями по умолчанию, такими как логическое значение или что-то в этом роде.

...