博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GridView里的按钮事件
阅读量:6232 次
发布时间:2019-06-21

本文共 2699 字,大约阅读时间需要 8 分钟。

问题参考:

 

下面是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添加二笔记录,分别测试每一行效果:

 

转载地址:http://kgmna.baihongyu.com/

你可能感兴趣的文章
shell 之 grep 和正则表达式(五)
查看>>
Angular中ngCookies模块介绍
查看>>
centso7安装nodejs
查看>>
Oracle的FIXED_DATE参数
查看>>
linux 本地账号密码无法登陆,一直返回 登陆的login界面
查看>>
js无缝滚动
查看>>
Android调试神器stetho使用详解和改造
查看>>
计算机网络复习
查看>>
各平台数据类型长度
查看>>
selenium 打不开chromedriver的问题
查看>>
python学习之元组
查看>>
如何查看app log(在没有源码的情况下)
查看>>
对golang多核编程的一点了解
查看>>
查看linux是32位还是64位的几种方法
查看>>
solidity智能合约[26]-mapping
查看>>
Centos6.6安装phpdcd
查看>>
Planner .NET日历日程控件能给你的应用程序提供多种日历日程功能
查看>>
即插即用,基于阿里云Ganos快速构建云上开源GIS方案
查看>>
Samba文件共享服务器
查看>>
Java8实用技能
查看>>