gridview中的相关事件操作

Posted 杰的记事本——javascript.shop

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gridview中的相关事件操作相关的知识,希望对你有一定的参考价值。

原文发布时间为:2008-07-27 —— 来源于本人的百度文章 [由搬家工具导入]

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.htmlControls;

public partial class Default5 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = GridView1.PageCount.ToString();
        Label2.Text = Convert.ToString( GridView1.PageIndex + 1);
        if (!IsPostBack)
        {
            for (int i = 1; i <= GridView1.Columns.Count; i++)
            {
                DropDownList1.Items.Add(i.ToString());
            }
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        int c = Convert.ToInt32(DropDownList1.SelectedValue) - 1;
        GridView1.Columns[c].Visible = false;
    }

    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        CheckBox chk1 = (CheckBox)sender;
        if (chk1.Checked)
        {
            foreach (GridViewRow gr in GridView1.Rows)
            {
                CheckBox chk = (CheckBox)gr.Cells[4].FindControl("chk2");
                chk.Checked = true;
            }
        }
        else
        {
            foreach (GridViewRow gr in GridView1.Rows)
            {
                CheckBox chk = (CheckBox)gr.Cells[4].FindControl("chk2");
                chk.Checked = false ;
            }
        }

    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < GridView1.Columns.Count; i++)
        {
            GridView1.Columns[i].Visible = true;
        }
    }
    protected void Button3_Click(object sender, EventArgs e)
    {
        foreach (GridViewRow gr in GridView1.Rows)
        {
            CheckBox chk = (CheckBox) gr.Cells[4].FindControl("chk2");//在第4列中寻找对象,并转为Checkbox
            if (chk.Checked)
            {
                gr.BackColor = System.Drawing.Color.Red;
                Response.Write(gr.Cells[1].Text);
            }
        }
    }
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
       
       
    }
    protected void chk2_CheckedChanged(object sender, EventArgs e)
    {
        CheckBox chk = (CheckBox)sender;//把对象为Checkbox
        DataControlFieldCell dcf = (DataControlFieldCell)chk.Parent;//这个对象的父类为cell
        GridViewRow gr = (GridViewRow)dcf.Parent;//cell的父类就是row,这样就得到了该checkbox所在的该行
        if (chk.Checked)
        {
            gr.BackColor = System.Drawing.Color.Green;
        }
        else
        {
            gr.BackColor = GridView1.RowStyle.BackColor;
        }
      
    }
    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='red'");
            e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
        }
    }
    protected void Button4_Click(object sender, EventArgs e)
    {
        foreach (GridViewRow gr in GridView1.Rows)
        {
            CheckBox chk = (CheckBox)gr.Cells[4].FindControl("chk2");
            if (chk.Checked)
            {
                gr.BackColor = GridView1.RowStyle.BackColor;
            }
        }

    }
}

以上是关于gridview中的相关事件操作的主要内容,如果未能解决你的问题,请参考以下文章

为啥 GridView 中的 LinkBut​​ton 不会引发其 OnClick 事件?

asp.net中在Gridview中自定义一列操作,应该怎么做?

使用VB在ASP.Net中对GridView中的事件进行排序

DevExpress.XtraGrid.Views.Grid.GridView怎么禁用自带的Ctrl+c复制功能

如何在 c# ASP.NET 中使用 GridView_RowCommand 事件从 GridView 获取图像

输入不会保存在Gridview行更新事件中