Komma åt parametrerna från en sqldatasource?
Hej!
Jag har en sqldatasource och en gridview med edit och delete function, när jag trycker delete i gridviewn vill jag köra mitt DeleteCommand i sqldatasourcen och sen anropa en function som skickar ett mail med all info från den raden jag deleta, alternativt komma åt parametrarna från mitt DeleteCommand.
Hur kan löser man detta i C# ?klistrar in koden som jag har det idag, som inte fungerar:
--------------------------------------
public void row_Deleted(object sender, SqlDataSourceStatusEventArgs e)
{
????????????
}
--------------------------------------
<asp:SqlDataSource ConnectionString="<%$ ConnectionStrings:Request %>" ID="SQL" runat="server" OnDeleted="row_Deleted"
SelectCommand="SELECT * FROM req ORDER BY added DESC, name ASC"
UpdateCommand="UPDATE req SET name=@name, type=@type, standing=@standing, note=@note WHERE id=@id"
DeleteCommand="DELETE FROM req WHERE id=@id">
</asp:SqlDataSource>
--------------------------------------
<asp:GridView AutoGenerateColumns=False DataSourceID="SQL" DataKeyNames="id" ID="RequestGRID" CellSpacing=5 RowStyle-HorizontalAlign=Left
runat="server" GridLines="None" AllowPaging=True PageSize="15" AllowSorting="True" Width=580px >
<Columns>
<asp:BoundField ReadOnly="True" DataField="byuser" HeaderText="Av" HtmlEncode=False
SortExpression="byuser">
<ItemStyle Width="50px" />
<HeaderStyle HorizontalAlign="Left" />
</asp:BoundField>
................ plus en del andra kolumner
</Columns>
</asp:GridView>
------------------------------------
Svara
Sv: Komma åt parametrerna från en sqldatasource?
Du kan komma åt hela Gridviewens borttagna rad i parametern e i eventet Gridview_rowdeleting (inte _deleted). Det borde gå antingen genom e.Values eller GridView1.Rows[e.RowIndex].Cells[i].Text, där i är valfritt kolumnindex i GV´n.
Edit: Lösningen förutsätter att alla värden finns i GV´n...
Svara
Sv: Komma åt parametrerna från en sqldatasource?
Jag skulle nog valt att göra ett objekt i Row_Deleting som skickas iväg då raden då ej är borttagen än. Vill man vara på den säkra sidan kan man göra klart mailobjektet och skicka iväg det i Row_Deleted. Det smidigaste är om du plockar ut värdet på vilken rad det är som är berörd och hämtar informationen så.
Svara