maintenant ça marche.
A moins que quelqu'un me montre comment faire, je vais finalement partir du principe que je ne peux pas utiliser les méthodes Update proposées par TableAdapter de VS2005 car elles ne remplissent pas les 3 conditions évoqués dans le lien MSDN plus haut...
Du coup,
1) j'ai rajouté une QUERY à mon TableAdapter appelant ma procédure sp_update_madatatable et l'a appelé UpdateMaDataTable
2) j'ai ensuite sélectionné dans mon ODS pour la méthode Update la nouvelle méthode de mon dataset UpdateMaDataTable
là j'ai pu observer qu'il avait ajouté la liste des paramètres (pas besoin de faire la liaison explicitement avec les champs du DetailsView il comprend tout seul qui va avec qui...
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
<div>
<asp:DetailsView ID="dvwEntityInfos" runat="server" AutoGenerateRows="False"
DataKeyNames="EntityId" DataSourceID="odsEntityInfos">
<Fields>
<asp:BoundField DataField="EntityId" HeaderText="EntityId" ReadOnly="True" SortExpression="EntityId" />
<asp:BoundField DataField="EntityName" HeaderText="EntityName" SortExpression="EntityName" />
<asp:BoundField DataField="EntityParentId" HeaderText="EntityParentId" SortExpression="EntityParentId" />
<asp:BoundField DataField="EntityLevel" HeaderText="EntityLevel" SortExpression="EntityLevel" />
<asp:BoundField DataField="EntityExternalCode" HeaderText="EntityExternalCode" SortExpression="EntityExternalCode" />
<asp:BoundField DataField="EntityLocal" HeaderText="EntityLocal" SortExpression="EntityLocal" />
<asp:CommandField ShowEditButton="True" />
</Fields>
</asp:DetailsView>
</div>
<asp:ObjectDataSource ID="odsEntityInfos" runat="server"
TypeName="Referential.Object.Business.Entities.EntitiesTableAdapters.EntityInfosTableAdapter"
SelectMethod="GetAllEntitiesInfos"
UpdateMethod="UpdateEntityInfos">
<UpdateParameters>
<asp:Parameter Name="EntityId" Type="Object" />
<asp:Parameter Name="EntityName" Type="String" />
<asp:Parameter Name="EntityParentId" Type="Object" />
<asp:Parameter Name="EntityLevel" Type="Int32" />
<asp:Parameter Name="EntityExternalCode" Type="String" />
<asp:Parameter Name="EntityLocal" Type="String" />
</UpdateParameters>
</asp:ObjectDataSource> |
j'ai bien laissé tout le paramétrage par défaut du Designer de VS2005 (y compris le ReadOnly="true" pour le BoundField recevant la clé primaire...)
<= ça marche !
Partager