zoukankan      html  css  js  c++  java
  • GridView里的按钮事件

    问题参考:

    下面是Insus.NET实现演示:

    CObj.cs代码:

    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代码:

    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代码:

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

  • 相关阅读:
    elasticsearch的服务器响应异常及解决策略(转)
    年薪30W的软件测试“老司机”工作经验
    Selenide 阶段性总结介绍(UI自动化测试工具)
    自动化测试的类型以及对测试自动化的几个误区
    使用Jmeter进行http接口性能测试
    如何修炼为测试架构师
    关于接口测试的一点小小的感悟
    详细讲解 A/B 测试关键步骤,快来检查下还有哪些疏漏的知识点
    JMeter测试WebSocket的经验总结
    Android 自动化测试及性能数据采集的 Python 脚本
  • 原文地址:https://www.cnblogs.com/insus/p/2697862.html
Copyright © 2011-2022 走看看