Извлечь значение контрольного списка множественного выбора в InfoPath2010 - PullRequest
1 голос
/ 23 марта 2011

Мне нужно извлечь значение контрольного списка множественного выбора в текстовое поле, это можно сделать?Я пытался извлечь его, используя несколько значений контрольного списка из источника данных, вручную введите несколько значений контрольного списка, но оба случая не работают, поскольку применение правил в текстовом поле по-прежнему показывает пустое ...

только одинОдин флажок показывает назначаемое значение в текстовом поле.

Пожалуйста, укажите мне возможности.

Спасибо

Ответы [ 2 ]

1 голос
/ 24 марта 2011

public void CTRL20_5_Clicked (отправитель объекта, ClickedEventArgs e) { // Напишите ваш код здесь.

        XPathNavigator root = MainDataSource.CreateNavigator();
        XPathNodeIterator iter = root.Select("//my:myFields/my:check/my:box",
          NamespaceManager);
        System.Text.StringBuilder sb = new System.Text.StringBuilder();

        while (iter.MoveNext())
        {
            string value = iter.Current.Value;
            sb.Append(value);
            sb.Append("; ");
        }
       root.SelectSingleNode("/my:myFields/my:value",
          NamespaceManager).SetValue(sb.ToString()); 
   }
1 голос
/ 23 марта 2011

Вам нужно будет написать немного кода, чтобы получить все значения в одном текстовом поле.Флажок множественного выбора хранится как повторяющееся поле - так что вы можете написать код для анализа XML-файла DOM, итерации по узлам и создания строки с разделителями для отображения в текстовом поле (используйте функцию DOM selectNodes и стандартный синтаксический анализ XML).

Полный пример будет немного длинным для этого форума, но, если у вас возникнут проблемы, пожалуйста, пишите / задавайте конкретные вопросы.Это не так уж сложно - просто немного боли, так как это основано на коде.

...