当前位置: 首页 > news >正文

GridView里的按钮事件

问题参考:

 

下面是Insus.NET实现演示:

 

CObj.cs代码:

ExpandedBlockStart.gif View Code
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
            
//
        }
    }
}

 

GridView代码:

ExpandedBlockStart.gif View Code
< 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 ="+"   /> &nbsp;&nbsp;
                             < asp:Button  ID ="ButtonSubtract"  runat ="server"  Text ="-"   />
                         </ ItemTemplate >
                     </ asp:TemplateField >
                 </ Columns >
             </ asp:GridView >

 

引用  using Insus.NET;

 

xxx.aspx.cs代码:

ExpandedBlockStart.gif View Code
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();
    }

 

 于 11:46分,Insus.NET添加二笔记录,分别测试每一行效果:

 

相关文章:

  • 通用SQL数据库查询语句精华使用简介
  • Cocoa教学:Windows OOP与Cocoa MVC之对比
  • nginx 负载均衡5种配置方式
  • js代码触发事件
  • 编译Chromium
  • WPF基础之路由事件
  • KMP算法初步认知
  • PHP 输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数, 使其和等于m ,要求将其中所有的可能组合列出来...
  • 超凡蜘蛛侠
  • 简单的多进程Open×××前端控制程序
  • asymptote 中使用中文
  • Deprecated: Function ereg() is deprecated in
  • 家庭电力网络摄像机
  • Redis学习系列
  • 必须关注的25位知名JavaScript开发者
  • JavaScript 如何正确处理 Unicode 编码问题!
  • [数据结构]链表的实现在PHP中
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • angular组件开发
  • express.js的介绍及使用
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • If…else
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • JS 面试题总结
  • NSTimer学习笔记
  • SpriteKit 技巧之添加背景图片
  • Vue小说阅读器(仿追书神器)
  • 大快搜索数据爬虫技术实例安装教学篇
  • 机器学习学习笔记一
  • 经典排序算法及其 Java 实现
  • 如何学习JavaEE,项目又该如何做?
  • 学习笔记TF060:图像语音结合,看图说话
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 交换综合实验一
  • #define 用法
  • (第二周)效能测试
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (过滤器)Filter和(监听器)listener
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)Linq学习笔记
  • (转)用.Net的File控件上传文件的解决方案
  • (转)原始图像数据和PDF中的图像数据
  • ./和../以及/和~之间的区别
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .Net MVC + EF搭建学生管理系统
  • .Net Remoting(分离服务程序实现) - Part.3
  • .net 流——流的类型体系简单介绍
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [1127]图形打印 sdutOJ