获取GridView中RowCommand的当前索引行
前台添加一模版列,里面添加一个Button
<asp:TemplateField HeaderText="测试">
<ItemTemplate>
<asp:Button ID="Button1" CommandName="btn" runat="server" Style="position: relative" Text="Button" />
</ItemTemplate>
</asp:TemplateField>


后台

protected void gv_Company_RowCommand(object sender, GridViewCommandEventArgs e){
if (e.CommandName == "btn"){
int index = Convert.ToInt32(e.CommandArgument);
DataKey key = this.gv_Company.DataKeys[index];
string str = key.Value.ToString();
}
}

//行数据绑定
protected void gv_Company_RowDataBound(object sender, GridViewRowEventArgs e){
if (e.Row.RowType == DataControlRowType.DataRow){
Button bt = new Button();
bt = (Button)e.Row.Cells[6].FindControl("Button1");
bt.CommandArgument = e.Row.RowIndex.ToString();
}
}

那么,如果是在GridView里已经设置了LinkButton为事件处理按钮,将通过以下方法获取索引
protected void gv_Company_RowCommand(object sender, GridViewCommandEventArgs e){
if (e.CommandName == "btn"){
GridViewRow drv = ((GridViewRow)(((LinkButton)(e.CommandSource)).Parent.Parent));
object result = (object)gv_Company.DataKeys[drv.RowIndex][int];//int为DataKeys位置
}
}
<asp:TemplateField HeaderText="测试">
<ItemTemplate>
<asp:Button ID="Button1" CommandName="btn" runat="server" Style="position: relative" Text="Button" />
</ItemTemplate>
</asp:TemplateField>

后台
protected void gv_Company_RowCommand(object sender, GridViewCommandEventArgs e){
if (e.CommandName == "btn"){
int index = Convert.ToInt32(e.CommandArgument);
DataKey key = this.gv_Company.DataKeys[index];
string str = key.Value.ToString();
}
}
//行数据绑定
protected void gv_Company_RowDataBound(object sender, GridViewRowEventArgs e){
if (e.Row.RowType == DataControlRowType.DataRow){
Button bt = new Button();
bt = (Button)e.Row.Cells[6].FindControl("Button1");
bt.CommandArgument = e.Row.RowIndex.ToString();
}
}
那么,如果是在GridView里已经设置了LinkButton为事件处理按钮,将通过以下方法获取索引
protected void gv_Company_RowCommand(object sender, GridViewCommandEventArgs e){
if (e.CommandName == "btn"){
GridViewRow drv = ((GridViewRow)(((LinkButton)(e.CommandSource)).Parent.Parent));
object result = (object)gv_Company.DataKeys[drv.RowIndex][int];//int为DataKeys位置
}
}

浙公网安备 33010602011771号