GridView里的按钮事件
http://www.cnblogs.com/insus/archive/2012/09/22/2697862.html
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// Summary description for CObj
/// </summary>
namespace Insus.NET
{
public class CObj
{
private int _Nbr;
private int _Val;
public int Nbr
{
get { return _Nbr; }
set { _Nbr = value; }
}
public int Val
{
get { return _Val; }
set { _Val = value; }
}
public CObj()
{
//
// TODO: Add constructor logic here
//
}
}
}
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Width="230px" OnRowCreated ="GridView1_RowCreated">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
key
</HeaderTemplate>
<ItemTemplate>
<%# Eval("Nbr") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Value
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelVal" runat="server" Text='<%# Eval("Val") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
operator
</HeaderTemplate>
<ItemTemplate>
<asp:Button ID="ButtonAdd" runat="server" Text="+" />
<asp:Button ID="ButtonSubtract" runat="server" Text="-" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
引用 using Insus.NET;
xxx.aspx.cs代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Data_Binding();
}
}
private void Data_Binding()
{
List<CObj> MyObj = new List<CObj>();
CObj o = new CObj();
o.Nbr = 1;
o.Val = 100;
MyObj.Add(o);
this.GridView1.DataSource = MyObj;
this.GridView1.DataBind();
}
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.DataRow) return;
if (e.Row.FindControl("ButtonAdd") != null)
{
var ButtonAdd = e.Row.FindControl("ButtonAdd") as Button;
ButtonAdd.Click += ButtonAdd_Click;
}
if (e.Row.FindControl("ButtonSubtract") != null)
{
var ButtonSubtract = e.Row.FindControl("ButtonSubtract") as Button;
ButtonSubtract.Click += ButtonSubtract_Click;
}
}
private void ButtonAdd_Click(object sender, EventArgs e)
{
var button = sender as Button;
GridViewRow gvr = (GridViewRow)button.Parent.Parent;
var Label = (Label)this.GridView1.Rows[gvr.RowIndex].FindControl("LabelVal");
int v = Convert.ToInt32(Label.Text);
Label.Text = (v + 1).ToString();
}
private void ButtonSubtract_Click(object sender, EventArgs e)
{
var button = sender as Button;
GridViewRow gvr = (GridViewRow)button.Parent.Parent;
var Label = (Label)this.GridView1.Rows[gvr.RowIndex].FindControl("LabelVal");
int v = Convert.ToInt32(Label.Text);
Label.Text = (v - 1).ToString();
}
最新文章
- Publishing failed with multiple errors 异常
- leetcode Super Pow
- 【linux】 解决linux下vsftp 500 OOPS: cannot change directory:/home/ftp/ 办法
- SQLExecption:Operation not allowed after ResultSet closed解决办法
- QQ登录类
- 倒计时js代码
- 通过JDBC进行简单的增删改查
- DIV+CSS命名规范-转载1
- MYSQL数据库重点:流程控制语句
- Linux五种IO模型
- js的面向对象的程序设计之理解继承
- InnoDB MyISAM区别及优化(摘录)
- 关于JPA多数据源的部署persistence.xml文件配置以及对应实现类注入
- 环境配置与JBoss安装-EJB3.0入门经典学习笔记(1)
- python 在mongo 中建立索引
- C#_FindWindow
- JavaJDK8新特性相关知识整理
- Vert.x简介
- 微信小程序开发资料汇总
- C语言扫盲篇