Reputation: 3000
I am new to c# so apologize if my way of asking is not correct.
I have added button in grid view now i want to perform some specific action against button coding in c#.. but i am unable to click on button that is why i am unable to write code against button event.
please tell me how to write code against button event in grid ???
Here is my coding :
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnDecline" runat="server" Text="Decline" onrowcommand="decline" />
</ItemTemplate>
</asp:TemplateField>
here is c# coding :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Sherserve.BusinessLogicLayer;
using Sherserve.CustomTypeLayer;
namespace SherserveLeaveManagementSystem
{
public partial class LMSAdminPanel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
LMSManager leavestatus = new LMSManager();
int emplid = Convert.ToInt32(Session["EmployeeID"]);
List<EmployeeLeave> leaverecord = leavestatus.GetLeaveRecord(emplid);
GridView1.DataSource = leaverecord;
GridView1.DataBind();
}
}
protected void GridView1_PageIndexchanging(object sender, GridViewPageEventArgs e)
{
LMSManager leavestatus = new LMSManager();
int emplid = Convert.ToInt32(Session["EmployeeID"]);
List<EmployeeLeave> leaverecord = leavestatus.GetLeaveRecord(emplid);
GridView1.DataSource = leaverecord;
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}
i am new in c# please dont mind if my way of asking is long or not correct.
thanks
Upvotes: 3
Views: 205
Reputation: 15630
Refer this for more http://www.dreamincode.net/forums/topic/184448-using-gridview-and-rowcommand-events/
protected void myGV_RowCommand(Object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "click1")
{
int index = Convert.ToInt32(e.CommandArgument); //get row number selected
GridViewRow row = GridView1.Rows[index];
Go ahead do something like above
}
if (e.CommandName == "click2")
{
Do something cool ...
}
}
Upvotes: 0
Reputation: 6805
Use commandname property like this (select, delete in this case):
<asp:GridView ID="EntityGridView" runat="server" DataKeyNames="Id" DataSourceID="EntityListDataSource"
AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" SkinID="GridViewSmall"
OnRowCommand="EntityGridView_RowCommand"
OnPageIndexChanged="EntityGridView_PageIndexChanged"
OnSorting="EntityGridView_Sorting">
<Columns>
<asp:TemplateField ItemStyle-CssClass="TemplateFieldTwoColumns">
<ItemTemplate>
<asp:ImageButton ID="btnView" runat="server" ToolTip="<% $resources:AppResource,Edit %>" SkinID="EditPage" CommandName="Select" CommandArgument='<%# Eval("Id") %>' />
<asp:ImageButton ID="btnDelete" runat="server" ToolTip="<% $resources:AppResource,Delete %>" SkinID="DeletePage" OnClientClick="<%# GetDeleteConfirmation() %>" CommandName="Delete" CommandArgument='<%# Eval("Id") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Title" HeaderText="<% $resources:AppResource,Title %>" SortExpression="Title" />
</Columns>
</asp:GridView>
And here is how you connect to event:
protected void EntityGridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
//do something on select...
}
}
Upvotes: 1