Hi:
The XPathNavigator gets the form node. We use XPathNavigator.Value to get the value and .SetValue("newValue") to set the value.
So, if your XPathNavigator myGclassLicense were successfully returning a node (instead of null), you'd get the value like myGclassLicense.Value and you'd set the value like myGclassLicense.SetValue("newValue").
The question, then, is why you aren't getting a node with the XPath "/my:lessonData/my:lessonFields/my:GclassLicense"
Did you use the 2007 'Copy XPath' to copy the XPath from the main data source in the data source task pane? That is the best way to avoid XPath mistakes (love that feature...).
Oh, also:
XPathNavigator myNavigator = this.MainDataSource.CreateNavigator();
XPathNavigator myGclassLicense = this.MainDataSource.CreateNavigator()
.SelectSingleNode("/my:lessonData/my:lessonFields/my:GclassLicense", NamespaceManager);
Should more likely be:
XPathNavigator myNavigator = this.MainDataSource.CreateNavigator();
XPathNavigator myGclassLicense = myNavigator.SelectSingleNode("/my:lessonData/my:lessonFields/my:GclassLicense", NamespaceManager);