Benutzer mit den meisten Antworten
GridView, AutoGenerateColumns="true" AutoGenerateEditButton="true": Wie verhindere ich, das automatische Update

Frage
-
Ich habe eine Gridview, die über eine Dropdown-Auswahl den Inhalt mehrerer Tabellen darstellt. Funktioniert alles super. Kann wie gesagt alles anzeigen und auch Felder bearbeiten. Über OnRowUpdating führe ich das Update manuell aus. Nur leider versucht die GridView danach die angegebene StoredProcedure mit alles Spalten als Parameter aufzurufen, was natürlich nicht funktionieren kann.
Meine Frage daher: Wie kann dich dieses Verhalten unterbinden.
Ich hoffe ich konnte mein Problem ausreichend schilden.
Antworten
-
Hi,
das wird das Problem sein. Wenn Du bei SqlDataSource bleiben willst (was ich nicht empfehlen würde, es sei denn, Du willst nur rein privat und absolut minimale Anwendungen basteln), würde ich deine Updatelogik in die angegebene StoredProcedure packen. Dann hast Du am wenigsten Probleme und alles läuft weiter wie gehabt.
Wenn Du es besser machen willst, schau dich mal hier um:
http://devilswork.wordpress.com/2009/03/27/gridview-row-edit-delete-and-update/
Es gibt zwar viele Wege, wie sich das machen lässt, sei es per Linq, per DataAdapter, usw. aber fürs erste denke ich, dass der o.g. Weg der ist, der dir am ehesten beibringt, wie das grundsätzlich funktionieren kann.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Anykey1337 Dienstag, 12. Februar 2013 12:46
- Tag als Antwort aufgehoben Anykey1337 Dienstag, 12. Februar 2013 12:50
- Als Antwort markiert Anykey1337 Dienstag, 12. Februar 2013 12:51
Alle Antworten
-
Hi,
welche Datenquelle verwendest Du für dein GridView Control? Hoffentlich keine SqlDataSource bzw. AccessDataSource!?
Wieso ist eine Stored Procedure für das Update angegeben, wenn Du das Update manuell machen willst?
So oder so: Poste bitte auch mal die Deklaration des GridView in der Webform.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Erstmal danke für die schnelle Reaktion. Ich verwende eine SqlDataSource weil ich das an vielen stellen so gelesen hatte. :/ Hier die Deklaration:
<div class="content"> <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager> <table width="900px"> <tr> <td> <asp:GridView ID="grvDim" runat="server" Width="884px" BorderStyle="None" DataSourceID="ds_Dim" AutoGenerateColumns="true" AutoGenerateEditButton="true" AutoGenerateDeleteButton="true" EmptyDataText="(noch) keine Ansprechpartner erfasst" OnRowUpdating="gridStoredProcExecUpdate" OnRowEditing="rowEditing" OnRowDeleting="rowDeleting"> </asp:GridView> </td> </tr> </table> </div> <asp:SqlDataSource ID="ds_Dim" runat="server" ConnectionString="<%$ ConnectionStrings:xxxConnectionString %>" ProviderName="<%$ ConnectionStrings:xxxConnectionString.ProviderName %>" SelectCommandType="StoredProcedure" SelectCommand="proc_dim_select" UpdateCommandType="StoredProcedure" UpdateCommand="proc_dim_update" InsertCommandType="StoredProcedure" InsertCommand="proc_dim_insert" DeleteCommandType="StoredProcedure" DeleteCommand="proc_dim_delete" > <SelectParameters> <asp:Parameter Direction="Input" Name="TABLE" Type="String" /> </SelectParameters> </asp:SqlDataSource>
Ich arbeite noch nicht lange mit .net und hangel mich oft von Fehler zu Fehler. Die StoredProc habe ich angegeben, weil sonst der Fehler "das Update wird nicht unterstützt" kommt. -
Hi,
das wird das Problem sein. Wenn Du bei SqlDataSource bleiben willst (was ich nicht empfehlen würde, es sei denn, Du willst nur rein privat und absolut minimale Anwendungen basteln), würde ich deine Updatelogik in die angegebene StoredProcedure packen. Dann hast Du am wenigsten Probleme und alles läuft weiter wie gehabt.
Wenn Du es besser machen willst, schau dich mal hier um:
http://devilswork.wordpress.com/2009/03/27/gridview-row-edit-delete-and-update/
Es gibt zwar viele Wege, wie sich das machen lässt, sei es per Linq, per DataAdapter, usw. aber fürs erste denke ich, dass der o.g. Weg der ist, der dir am ehesten beibringt, wie das grundsätzlich funktionieren kann.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Anykey1337 Dienstag, 12. Februar 2013 12:46
- Tag als Antwort aufgehoben Anykey1337 Dienstag, 12. Februar 2013 12:50
- Als Antwort markiert Anykey1337 Dienstag, 12. Februar 2013 12:51