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();
}

GridView里的按钮事件的更多相关文章
- asp.net中父子页面通过gridview中的按钮事件进行回传值的问题
这两天写BS程序,遇到父子页面传值的问题,以前没写过web系统,用了几天时间才将问题解决,总结下记录下来: 问题描述: 父页面A中有一个gridview,每行6个列,有5列中均有一个按钮,单击按钮,会 ...
- GridView行中按钮的使用
转载自:http://blog.csdn.net/hongdi/article/details/6455947 GridView行中按钮的使用 在web项目的过程中,特别是开发ASP.NET应用程序, ...
- 关于实现自定义Dialog和实现Dialog里view的事件监听的两种方法
一.自定义dialog. 二.实现dialog里view的事件监听 1.自定义dialog比较简单.在实例化new的时候,加入样式,布局就行了.或者重写dialog. 2.实现dialog里view的 ...
- iOS代码实现:创建按钮,绑定按钮事件,读取控件值
// // main.m // Hello // // Created by lishujun on 14-8-28. // Copyright (c) 2014年 lishujun. All rig ...
- DEVEXPRESS GRIDVIEW 代码添加按钮(转)
https://www.cnblogs.com/qq-xiao/p/6122573.html 1.1 创建一个RepositoryItemButtonEdit方法 1 private Reposito ...
- H5微信页面开发 IOS系统 input输入框失去焦点,软键盘关闭后,被撑起的页面无法回退到原来正常的位置,导致弹框里的按钮响应区域错位
H5微信页面开发,软键盘弹起后,若原输入框被遮挡,页面整体将会上移,然而当输入框失焦,软键盘收起后,页面未恢复,导致弹框里的按钮响应区域错位. 解决方案:给输入框(或select选择框)添加失去焦点的 ...
- SQLSERVER2012里的扩展事件初尝试(下)
SQLSERVER2012里的扩展事件初尝试(下) SQLSERVER2012里的扩展事件初尝试(上) 我们继续文章扩展事件在Denali CTP3里的新UI(二)里的这个实验 脚本文件下载:http ...
- SQLSERVER2012里的扩展事件初尝试(上)
SQLSERVER2012里的扩展事件初尝试(上) SQLSERVER2012里的扩展事件初尝试(下) 周未看了这两篇文章: 扩展事件在Denali CTP3里的新UI(一) 扩展事件在Denali ...
- wxpython 编程触发菜单或按钮事件
最近逐步熟悉wxpython,编写了几个小小功能的GUI程序,GUI中免不了会有在代码中触发控件事件的业务需求.在其他Gui界面的语言中有postevent.triggerevent 调用事件名称的函 ...
随机推荐
- Why getting this error “django.db.utils.OperationalError: (1050, ”Table 'someTable' already exists“)”
0down votefavorite I am getting error like django.db.utils.OperationalError: (1050, "Table 's ...
- bat显示多行文字,逐个显示哦!不同的颜色!
最近想修改bat文件输出提示的时候能有不同的颜色提示,在网上找了下,发现这个文章,实现的不错,先记录下来,留着后面研究. 这是曾经写的,又稍微改进了一下. @echo off set str=青天有月 ...
- 洛谷【P2629】好消息,坏消息
浅谈队列:https://www.cnblogs.com/AKMer/p/10314965.html 题目传送门:https://www.luogu.org/problemnew/show/P2629 ...
- Mstar 编译器的搭建
机顶盒: 1.解压“mipsisa32-elf-3.4.4-20101123.i386linux.tar.gz" 应用编译器 2.mips-4.3-51-mips-linux-gnu-i68 ...
- vim修行
查用的vim 操作 1.移动光标的方法 h 戒 向左箭央键(←) 光标向左移劢一个字符 j 戒 向下箭央键(↓) 光标向下移劢一个字符 k 戒 向上箭央键(↑) 光标向上移劢一个字符 l 戒 向右箭央 ...
- Git命令之创建版本
安装 安装好Git后,将会在桌面生成 这样一个图标 运行后将会是类似控制台程序的黑色窗口,其中mingw64(参考百度百科).这样的话就可以在输入命令 例如 :git 见到下图有详细的用法表示成功否则 ...
- Celery-4.1 用户指南: Daemonization (系统守护进程)
Generic init-scripts 查看Celery发布里的 extra/generic-init.d/ 文件夹. 这个文件夹中包含了celery worker 程序的通用bash初始化脚本,可 ...
- 解决CentOS遇到Qt编译(error: cannot find -lGL)
笔者CentOS 6.5 64位,安装完成Qt5.5.1.随意新建一个Qt Widgets Application. 结果遇到Qt编译问题,提示信息如下: error: cannot find -lG ...
- leetcode860
使用C++进行编码: bool lemonadeChange(vector<int>& bills) { ; ; ; int N = bills.size(); ; i < ...
- mysql使用存储过程插入数据后,参数为中文的为?或乱码
最近了解了一下mysql存储过程,之前版本的mysql不支持存储过程,5.0版本后就可以支持存储过程的使用:恰好笔者下载使用版本为5.6.20: 做了一个给表插入数据的简单存储过程,发现打开表后汉字全 ...