GridView, SQLDataSource und Insert

24/10/2008 - 08:28 von albert andersson | Report spam
Guten Morgen

In einer GridView benutze ich den Footer als Insert-Zeile.
Darin sind zum einen eine Texbox für die Eingabe und ein Linkbutton
welcher den Insert ausführen soll.

<FooterTemplate>
<asp:LinkButton runat="server" ID="lbtnInsert" Text="Insert"
CommandName="Insert"></asp:LinkButton>
</FooterTemplate>

Gefüllt wird die GridView über eine DataSource.
In der DataSource habe ich die Insert-Query definiert und noch einen
InsertParameter welcher auf die TextBox in der FooterZeile der Gridview
Zeigt.

<InsertParameters>
<asp:ControlParameter ControlID="tboxNewAccountType"
PropertyName="Text" Name="@AccountType"/>
</InsertParameters>

Für meine Logik scheint alles vorhanden zu sein und dennoch wird der
Insert nicht ausgeführt. Es geschtieht lediglich der Postback für den
Klick auf den Link.
Könnte ich etwas vergessen haben anzugeben?

Danke und einen schönen Morgen
Albert

Folgend der Gesamte (gekürzte) Code:

<asp:GridView runat="server" ID="gvAccountType" AutoGenerateColumns="false"
DataSourceID="srcAccount" ShowFooter="true" DataKeyNames="ID_AccountType" >
<Columns>
<asp:TemplateField>
<HeaderTemplate>
Account Type
</HeaderTemplate>
<ItemTemplate>
<%# Eval("AccountType") %>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox runat="server" ID="tboxNewAccountType" Text=""></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField>
<FooterTemplate>
<asp:LinkButton runat="server" ID="lbtnInsert" Text="Insert"
CommandName="Insert"></asp:LinkButton>
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource runat="server" ID="srcAccount" ProviderName="System.Data.SqlClient"
ConnectionString='<%$ ConnectionStrings:strCon %>'
SelectCommand="select * from tbl_AccountType"
InsertCommand="insert into tbl_AccountType (AccountType) values
(@AccountType)">
<InsertParameters>
<asp:ControlParameter ControlID="tboxNewAccountType"
PropertyName="Text" Name="@AccountType"/>
</InsertParameters>
</asp:SqlDataSource>
 

Lesen sie die antworten

#1 albert andersson
24/10/2008 - 08:42 | Warnen spam
Ich habe das Gefühl, die ganze sache mit der SQLDataSource geht nicht
ganz auf.
Wenn ich auf die selbe Art und Weise eine Löschfunktion bereitstellen
will, sehe ich das Problem auch klar. Das ding kann gar nicht wissen auf
Welche Zeile ich mich bezihe und warscheinlich findet es nichteinmal das
Control in der GridView.

Ich versuche es nun mit der ObjectDataSource ... bei der Kann man Methoden
angeben.

Ähnliche fragen