get Value Contact Selector IP 2007
teman2 berikut ini adalah code yang saya gunakan dalam VSTA 2005 di InfoPath 2007, dengan Tujuan untuk mendapatkan value(user name) dari control Contact Selector yang kita buat di form tsb.
XPathNavigator _xPathNavigator = this.CreateNavigator();
XmlNamespaceManager _xmlNameSpacesManager = this.NamespaceManager;
XPathNavigator _xPathNavigatorContactSelectorUserByName = _xPathNavigator.SelectSingleNode("/my:myFields/my:gpContactSelector/my:Person/my:DisplayName", _xmlNameSpacesManager);
XPathNavigator _xPathNavigatorContactSelectorUserByDomain = _xPathNavigator.SelectSingleNode("/my:myFields/my:gpContactSelector/my:Person/my:AccountId", _xmlNameSpacesManager);
XPathNodeIterator _xiCleanUserName = _xPathNavigatorContactSelectorUserByName.Select("/my:myFields/my:gpContactSelector/my:Person/my:DisplayName", _xmlNameSpacesManager);
XPathNodeIterator _xiUserNameWithDomain = _xPathNavigatorContactSelectorUserByDomain.Select("/my:myFields/my:gpContactSelector/my:Person/my:AccountId", _xmlNameSpacesManager);
//necessary move one to get current value
_xiCleanUserName.MoveNext();
_xiUserNameWithDomain.MoveNext();
do
{
string _username = _xiCleanUserName.Current.Value;
} while (_xiCleanUserName.MoveNext() && _xiUserNameWithDomain.MoveNext());