GridView功能汇总

 GridView点击删除后弹对话框再删除

添加一个模版列,编辑模版列,并加入一个linkButton ,在onClientClick中加入JavaScript:return confirm('你确定要删除该行记录吗?');

在html中找到那个模版列在其中加入这个属性CommandArgument='<%# Bind("ID") %>'

选中LinkButton的事件Command项,写入LinkButton1_Delete然后在后台代码中这样实现:

 protected void LinkButton1_Delete(object sender, CommandEventArgs e)
    {
        string cateNo=e.CommandArgument.ToString();
        bool hehe = CategoryColl.Delete(cateNo);
        if (hehe == false)
        {
            Response.Write(@"<script language=""JavaScript"">alert(""此分类包括日志不能删除!"");
        </script>");

        }
        Show();
    }

 完成

Gridview的RowCommand事件用法

当单击 GridView 控件中的按钮时发生次事件。

在单击 GridView 控件中的按钮时,将引发 RowCommand 事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时执行一个自定义例程。

GridView 控件中的按钮也可调用该控件的某些内置功能。若要执行这些操作之一,请将按钮的 CommandName 属性设置为下表中的某个值。

CommandName 值

说明

“Cancel”

取消编辑操作并将 GridView 控件返回为只读模式。引发 RowCancelingEdit 事件。

“Delete”

删除当前记录。引发 RowDeletingRowDeleted 事件。

“Edit”

将当前记录置于编辑模式。引发 RowEditing 事件。

“Page”

执行分页操作。将按钮的 CommandArgument 属性设置为“First”、“Last”、“Next”、“Prev”或页码,以指定要执行的分页操作类型。引发 PageIndexChangingPageIndexChanged 事件。

“Select”

选择当前记录。引发 SelectedIndexChangingSelectedIndexChanged 事件。

“Sort”

对 GridView 控件进行排序。引发 SortingSorted 事件。

“Update”

更新数据源中的当前记录。引发 RowUpdatingRowUpdated 事件。

尽管单击上表中所列出的按钮时将引发 RowCommand 事件,但仍建议您使用该表中列出的事件来执行该操作。

GridViewCommandEventArgs 对象传递到事件处理方法,以便您可以确定被单击按钮的命令名和命令参数。

Note注意

GridViewCommandEventArgs 类未包含一个用于指示单击按钮所在行的属性。如果需要知道哪个行引发了事件,请使用 CommandArgument 属性将行的索引传给事件处理方法。

1.下面演示当单击gridview中的一个按钮时删除数据库中的一个记录。

添加一个模版列,编辑模版列,并加入一个linkButton ,在html里把linkButton的CommandName属性设置为del,然后双击gridview的rowCommand产生事情代码,代码如下:

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName=="del") {                                                          //判断命令名
           
             int index = Convert.ToInt32(e.CommandArgument);                //获得该按钮在gridview中的位置,即第几行
            GridViewRow row = GridView1.Rows[index];                              //通过索引返回该行
            
            string i= row.Cells[0].Text.ToString().Trim();                                //获得该行第1列的数据项
            DiaryColl.Delete(i);
            Show();
        }
    }

2.下面演示添加自定义分页的用法

在html的gridview中添加分页模板,可以图形化设置,html代码如下:

<PagerTemplate>
                共<asp:Label ID="Label1" runat="server" Text='<%#GridView1.PageCount %>'></asp:Label>页 &nbsp; &nbsp;
                &nbsp;&nbsp;
                <asp:LinkButton ID="LinkButton2" runat="server" ForeColor="White" CommandName="prev">上一页</asp:LinkButton>
                <asp:LinkButton ID="LinkButton3" runat="server" ForeColor="White" CommandName="next">下一页</asp:LinkButton>
            </PagerTemplate>

下划线为重点要添加的,然后写rowCommand事件代码,如下:

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "prev")
        {
            if (GridView1.PageIndex != 0)
            {
                GridView1.PageIndex--;
                Show();
            }
        }
        if (e.CommandName == "next")
        {
            GridView1.PageIndex++;
            Show();
        }
    }

GridView的RowDataBound事件用法

在 GridView 控件中将数据行绑定到数据时发生。

呈现 GridView 控件之前,该控件中的每一行必须绑定到数据源中的一条记录。将某个数据行(用 GridViewRow 对象表示)绑定到 GridView 控件中的数据以后,将引发 RowDataBound 事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时都执行一个自定义例程(如修改绑定到该行的数据的值)。

GridViewRowEventArgs 对象将被传给事件处理方法,以便您可以访问正在绑定的行的属性。若要访问行中的特定单元格,请使用 GridViewRowEventArgs 对象的 Cells 属性。使用 RowType 属性可确定正在绑定的是哪一种行类型(标题行、数据行等等)。

下面的代码示例演示如何使用 RowDataBound 事件在数据源中的字段值显示在 GridView 控件中之前修改该值。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
           int id=Convert.ToInt32(e.Row.Cells[4].Text);                                      //获得新闻的类别ID
           Category c = new Category();
           e.Row.Cells[4].Text=c.GetNameById(id);                                            //把新闻的类别ID转换成类别名

        }

  }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值