So, this works for loading and displaying the data:
<llblgenpro:LLBLGenProDataSource ID="llbComputerApplication"
DataContainerType="EntityCollection" runat="server"
EntityCollectionTypeName="VistaDesktopSurvey.Domain.CollectionClasses.ComputerApplicationCollection, VistaDesktopSurvey.Domain">
</llblgenpro:LLBLGenProDataSource>
<asp:GridView ID="gridComputerApps" DataSourceID="llbComputerApplication" runat="server" AutoGenerateColumns="False" EnableViewState="true"
EmptyDataText ="NO APPLICATIONS FOUND FOR THIS COMPUTER."
DataKeyNames="ComputerID, ApplicationID"
style="border-style:dotted;border-width:thin">
<Columns>
<asp:BoundField DataField="ApplicationID" HeaderText="Application ID" SortExpression="ApplicationID" Visible="True" />
<asp:BoundField DataField="ComputerID" HeaderText="ComputerID" SortExpression="ComputerID" Visible="True" />
<asp:TemplateField>
<ItemTemplate>
<asp:RadioButtonList ID="rblRequirementOption" RepeatDirection="Horizontal" runat="server"
SelectedValue='<%#Bind("RequirementOption")%>'>
<asp:ListItem Value="Need Now" Text="Need Now"></asp:ListItem>
<asp:ListItem Value="Need Someday" Text="Need Someday"></asp:ListItem>
<asp:ListItem Value="Do Not Need" Text="Do Not Need"></asp:ListItem>
</asp:RadioButtonList>
<asp:RequiredFieldValidator
ID="ReqiredFieldValidator1"
runat="server"
ControlToValidate="rblRequirementOption"
ErrorMessage="Select an Application Requirment Value.">
</asp:RequiredFieldValidator>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="NormalizedNotes" HeaderText="Notes" Visible="False" />
</Columns>
</asp:GridView>
This is how I'm saving it now:
For iRow As Integer = 0 To Me.gridComputerApps.Rows.Count - 1
Dim selectedValue As String = CType(Me.gridComputerApps.Rows(iRow).FindControl("rblRequirementOption"), RadioButtonList).SelectedValue
Dim computerApp As New ComputerApplicationEntity(Me.gridComputerApps.DataKeys(iRow).Item("ComputerID").ToString, CType(Me.gridComputerApps.DataKeys(iRow).Item("ApplicationID"), Integer))
computerApp.RequirementOption = selectedValue
If computerApp.IsNew Then Throw New System.Exception("Error looking up Computer/Application") ' good enough, should never happen
computerApp.Save()
Next