I have a simple:
<asp:FormView runat="server" DataKeyNames="PrimaryID" DataSourceID="PrimaryDataSource" DefaultMode="Edit" OnItemUpdated="FormView1_ItemUpdated">
<EditItemTemplate>
...
<asp:ListBox ID="ListBox1" runat="server" DataSourceID="ReferenceDataSource" DataTextField="ShortName" DataValueField="ReferenceID" SelectionMode="Multiple"></asp:ListBox>
...
<data:ManyToManyListRelationship ID="ManyToManyRelationship1" runat="server">
<PrimaryMember runat="server" DataSourceID="PrimaryDataSource" EntityKeyName="PrimaryID" />
<LinkMember runat="server" DataSourceID="LinkDataSource" EntityKeyName="PrimaryID" ForeignKeyName="ReferenceID" />
<ReferenceMember runat="server" DataSourceID="ReferenceDataSource" ListControlID="ListBox1" EntityKeyName="ReferenceID" />
</data:ManyToManyListRelationship>
</EditItemTemplate>
</asp:FormView>
Which works [amazingly] by the way...
However I'm not sure how to find out if there were any changes made to the many to many relationship
For example something like this:
protected void FormView1_ItemUpdating(object sender, FormViewUpdateEventArgs e)
{
// Would like to do some code here if the user made any changes to the ManyToMany relationships
// if (e.NewValues["ManyToManyRelationship1"] != e.OldValues["ManyToManyRelationship1"])
}
Anyone have any ideas?
Also, adding a
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
doesn't really work as it fires after the FormView1_ItemUpdating... ItemUpdated events.