zoukankan      html  css  js  c++  java
  • .net2005中对asp.net中GridView的常用操作

    1、先绑定数据源
     private void fBind()
        {
            SYJ.sqlServer f = new SYJ.sqlServer(SYJ.common.gDbConnStr(""));
            string strF = "select * from tFunctionWeb";
            DataSet ds = f.sqlSelectDS(strF);
            ViewState["dsPage"] = ds;                    //这在后面的分页中用到;
            this.GridView1.DataSource = ds;
            this.GridView1.DataBind();
        }
    2、分页事件
     protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            this.GridView1.PageIndex = e.NewPageIndex;
            this.GridView1.DataSource = ViewState["dsPage"];
            this.GridView1.DataBind();
        }
    3、删除事件
     protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            SYJ.sqlServer f = new SYJ.sqlServer(SYJ.common.gDbConnStr(""));
            int fid = int.Parse(this.GridView1.DataKeys[e.RowIndex].Values[0].ToString());
            string strF = "delete  from tFunctionWeb where fid="+fid;
            //string strF2 = "delete from ";
            if (f.sqlInsertUpdateDelete(strF) > 0)
            {
                SYJ.common.msgBox(this, "删除成功!");
            }
            else
            {
                SYJ.common.msgBox(this, "对不起,删除失败!");
            }
            this.fBind();
        }
    4、删除确认框事件
    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Cells[e.Row.Cells.Count - 1].Attributes.Add("onclick", "return confirm('确定要永久删除该功能页面吗?');");
            }
        } 

        /// <summary>
        /// (编辑)取消事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1;
            this.fBind();
        }

        /// <summary>
        /// 编辑事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;
            this.fBind();
        }

        /// <summary>
        /// (编辑)更新事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            SYJ.sqlServer update = new SYJ.sqlServer(SYJ.common.gDbConnStr(""));
            //   string RegName = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("tbRegName")).Text.Trim();   /*需要插入模板列,比较麻烦*/
           
            TextBox tbRegName = (TextBox)this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0];//通过找到编辑所在行的列数即可
            string RegName2 = tbRegName.Text;
            if (!string.IsNullOrEmpty(RegName2))
            {
                StringBuilder strsql = new StringBuilder("UPDATE ai_ObjComm SET RegName='")
                                       .Append(RegName2)
                                       .Append("'")
                                       .Append(" WHERE ID='")
                                       .Append(GridView1.DataKeys[e.RowIndex].Value)
                                       .Append("'");

                try
                {
                    update.sqlInsertUpdateDelete(strsql.ToString());
                    GridView1.EditIndex = -1;
                    fBind();
                    Response.Write("<script>alert('信息更新成功');</script>");
                }
                catch (Exception ex)
                {
                    string message = "修改车辆资料失败,详细信息是:"+ex.Message.Replace("\r\n", "");
                    Response.Write("<script>alert(message);</script>");
                }
            }
            else
            {
                Response.Write("<script>alert('车牌号码不能为空,请重新输入');</script>");
            }
        }
        /// <summary>
        /// 我们可能要根据需要,对gridview中的数据进行特殊的显示,比如当某样商品库存为0时,要求gridview中以不同颜色进行显示,这时,可以按如下的方法进行:
       /// 首先,gridview提供了rowdatabound事件,该事件在gridview中每行被创建并且绑定到datasource控件后被触发,因此,我们可以利用该事件去检查库存是否为0,如果为0的话,将所在行的北京颜色设置为黄色,
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                int isHaveLock = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "isHaveLock"));
                if (isHaveLock == 0)
                    e.Row.BackColor = Color.Yellow;
            }

        }

  • 相关阅读:
    第二章 逻辑代数及其简化
    小知识:三极管ie==ic+ib
    第二章.2 真值表→表达式的转换
    C# 静态变量及静态函数
    第四章(1):变量静态变量和实例变量
    转义大括号
    能被15整除的最大整数
    动态规划矩阵连乘问题
    [转]三极管的集电结反向偏置电压
    anddroid App, Framework, Sdk编译
  • 原文地址:https://www.cnblogs.com/bbxie/p/567161.html
Copyright © 2011-2022 走看看