Thursday, September 20, 2012

Using Link Button in GridView in Asp.net 4.0

//Design
                                                                                                                                                   


 <table width="100%"
        style="background-image: url('images/back1.gif'); height: 367px;">
<tr>
<td>
    <asp:GridView ID="Gv1" runat="server" AutoGenerateColumns="false"
        DataKeyNames="ec_id" onrowdatabound="GridView1_RowDataBound">
    <Columns>
    <asp:BoundField DataField="ec_em_no" ReadOnly="true" HeaderText="Emp No" />
    <asp:BoundField DataField="ec_id" ReadOnly="true" HeaderText="Claim ID" />
    <asp:BoundField DataField="ec_type" ReadOnly="true" HeaderText="Claim Type" />
    <asp:BoundField DataField="ec_amount" ReadOnly="true" HeaderText="Claim Amount" />
    <asp:BoundField DataField="ec_desc" ReadOnly="true" HeaderText="Claim Desc" />
    <asp:BoundField DataField="ec_apply_date" ReadOnly="true" HeaderText="Apply Date" />
    <asp:TemplateField HeaderText="Accept/Reject">
    <ItemTemplate>
    <asp:LinkButton ID="Link1" runat="server" Text="Accept" OnClick="Link1_Click"></asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateField>
 
    </Columns>
    </asp:GridView>
</td>
</tr>
</table>
                                                                                                                                                        
// Code
                                                                                                                                                         

using System.Data.SqlClient;
using System.Configuration;

public partial class Default2 : System.Web.UI.Page
{
    string connectionInfo = ConfigurationManager.AppSettings["ConnectionInfo"];
    SqlCommand cmd;
    SqlConnection con;
    protected void Page_Load(object sender, EventArgs e)
    {
        con = new SqlConnection(connectionInfo);
        if (!Page.IsPostBack)
            ShowData();
    }

    public void ShowData()
    {
        SqlDataAdapter da = new SqlDataAdapter("Select * From emp_claims WHERE ec_approve_status='Await'", con);
        DataSet ds = new DataSet();
        da.Fill(ds);
        Gv1.DataSource = ds.Tables[0];
        Gv1.DataBind();
     }
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {

    }
    protected void Link1_Click(object sender, EventArgs e)
    {
        LinkButton lbutton = sender as LinkButton;
        GridViewRow gr = lbutton.NamingContainer as GridViewRow;
        int id = Convert.ToInt32(Gv1.DataKeys[gr.RowIndex].Value);
        cmd = new SqlCommand("UPDATE emp_claims SET ec_approve_status='Accept' WHERE ec_id=" + id + "", con);
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();
        Gv1.EditIndex = -1;
        ShowData();
    }
  }

No comments:

Post a Comment