2016-11-15 3 views
0

Ich habe ein Buttonfeld namens "akzeptieren" in der Gridview .. Ich möchte die Spalte "Status" von Bitfeld auf "1" dieser bestimmten Zeile aktualisieren, wenn Admin klickt auf accept .. im auf C# arbeitenmöchte die Spalte einer bestimmten Zeile von gridview aktualisieren

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" runat="server" Width="1000px" 

        AllowPaging="True" PageSize="8" 
CssClass="Grid" AlternatingRowStyle-CssClass="alt" PagerStyle-CssClass="pgr" DataSourceID="SqlDataSource1" AllowSorting="True"> 

<Columns> 
     <asp:ButtonField Text="Accept" CommandName="Update" runat="server"/> 
     <asp:BoundField DataField="fname" HeaderText="fname" SortExpression="fname" /> 
     <asp:BoundField DataField="emailid" HeaderText="emailid" SortExpression="emailid" /> 
     <asp:BoundField DataField="contact" HeaderText="contact" SortExpression="contact" /> 
     <asp:BoundField DataField="type" HeaderText="type" SortExpression="type" /> 
     <asp:BoundField DataField="username" HeaderText="username" SortExpression="username" /> 
     <asp:BoundField DataField="password" HeaderText="password" SortExpression="password" /> 
    </Columns> 
<PagerStyle CssClass="pgr"></PagerStyle> 
</asp:GridView> 

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:dbrubyConnectionString3 %>" SelectCommand="SELECT seller.fname, seller.emailid, seller.contact,seller.type, login.username, login.password FROM seller INNER JOIN login ON seller.sid=login.lid where login.status= ORDER BY login.createdate "> 

Antwort

0

einen Ereignishandler hinzu GridView1_RowCommand, für den Befehl "Update" suchen, und die DataItem greifen, damit Sie wissen, welches Element zu aktualisieren, dann aktualisieren es in der Datenbank, und binden Sie dann Ihre Gridview erneut.

Sie könnten auch einen Ajax-Aufruf durchführen, um den Wert zu aktualisieren, der schneller wäre (weniger Daten zum Senden und Empfangen) und keine vollständige Aktualisierung der Seite erfordern würde, aber das ist mehr Arbeit.

hinzufügen eine Kennung (Command) auf Ihren Befehl durch Änderung:

<asp:ButtonField Text="Accept" CommandName="Update" runat="server"/> 

zu:

<asp:ButtonField Text="Accept" CommandName="Update" runat="server" 
    CommandArgument="<%# Eval("emailid") %>"/> 

Ereignishandler hinzufügen, indem Sie:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" runat="server" 
    Width="1000px" AllowPaging="True" PageSize="8" CssClass="Grid" 
    AlternatingRowStyle-CssClass="alt" PagerStyle-CssClass="pgr" 
    DataSourceID="SqlDataSource1" AllowSorting="True"> 

zu:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" runat="server" 
    Width="1000px" AllowPaging="True" PageSize="8" CssClass="Grid" 
    AlternatingRowStyle-CssClass="alt" PagerStyle-CssClass="pgr" 
    DataSourceID="SqlDataSource1" AllowSorting="True" 
    OnRowCommand="GridView1_OnRowCommand"> 

Dann schreiben Sie Ihre Aktualisierung im Backend durch Zugabe:

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    switch(e.CommandName) 
    { 
    case "Accept": 
     var email = e.CommandArgument.ToString(); 
     Accept(email); // write this function 
     break; 
    } 
} 
+0

Wäre es okay, wenn man zeigen kann, wie es zu tun? Ich bin neu dazu. Vielen Dank im Voraus – Samsam

+0

Ich habe es bekommen. Vielen Dank: D – Samsam

Verwandte Themen