zoukankan      html  css  js  c++  java
  • GridView遭遇数据类型"是/否",获取gridview的一个单元格的值并更改,附带更新GridView用法

    在GridView中的模板列,我不能访问到模板列内的列,正确说是不能访问到对应列的id.所以用下方法

    在GridView1中 编辑模板,然后就在 ItemTemplate模式下拖入控件 CheckBox,可以见到源码中:

    <ItemTemplate>
                            <asp:CheckBox ID="CheckBox1" runat="server" Text="xxx"  />
     </ItemTemplate>

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {          
            CheckBox check_value = (CheckBox)GridView1.Rows[e.RowIndex].FindControl("CheckBox1");//定义
           string sqlstr = "update teacher set passed=" + check_value.Checked.ToString() + " where t_name='" + (((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim()) + "'";
                OleDbConnection Conn = dbcenter.Acce_Conn();
                Conn.Open();
                OleDbCommand cmd = new OleDbCommand(sqlstr, Conn);//方法一
                cmd.ExecuteNonQuery();
                Conn.Close();

                 mydatabind(); //绑定数据

    }

    顺带讲下GridView用法

     编辑行protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
             this.GridView1.EditIndex = e.NewEditIndex;
              mydatabind();
        }
      取消编辑  protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1;
             mydatabind();
        }

      删除行protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {    
            OleDbConnection conn = dbcenter.Acce_Conn();
              conn.Open();
              OleDbCommand command = conn.CreateCommand();
              command.CommandText = "delete  from exam_test where testid=" + System.Convert.ToInt32(GridView1.Rows[e.RowIndex].Cells[x].Text) + ""; //方法二
             command.ExecuteNonQuery();
               conn.Close();
              GridView1.DataBind();

    }

    分页的处理代码 protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
            {
               
                GridView1.PageIndex = e.NewPageIndex; //开始分页处理
                GridView1.PageIndex = e.NewPageIndex;
                string SQL = " select * from exam_test "; //
                GridView1.DataSource = dbcenter.accessGetDataSet(SQL);           
                GridView1.DataBind();
            }

    0904近半年来不搞dotnet,很生疏哦。后来在一个系统中要更改一个已经选定的gridview单元格值,也费了点时间.(170309--it text)

    update段代码(更改的是 ittest -tch-power表)

     CheckBox check_value = (CheckBox)GridView1.Rows[e.RowIndex].FindControl("CheckBox1");//定义check_value为CheckBox类型
       int level = System.Convert.ToInt32(((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text);  //这次更改的重点哦。就是这里 更改一个已经选定的gridview单元格值 转换为int类型 Controls[0]表示控件的子控件,可以转为textbox,这样才可以获得其对应的单元格的值

    如果在gridview的单元格里面对应是其他控件,例如 checkbox,   则可以这样:  

    CheckBox check_value = (CheckBox)GridView1.Rows[e.RowIndex].FindControl("CheckBox1");//定义check_value为CheckBox类型,具体参考 ittest ---teacher_ok
             //string sqlstr = "update teacher set passed=" + check_value.Checked.ToString() + " where t_name='" + (((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim()) + "'";
             string sqlstr = "update teach set passed=" + check_value.Checked.ToString() + ",t_level="+level+" where t_name=@t_name";
           OleDbConnection Conn = center.Ace_Conn();
           Conn.Open();
           OleDbCommand cmd = new OleDbCommand(sqlstr, Conn);
           cmd.Parameters.Add("@t_name",OleDbType.VarChar,40);
           cmd.Parameters[0].Value = (((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim());
           cmd.ExecuteNonQuery();
            Conn.Close();
            databind();

    慢慢理解.好

  • 相关阅读:
    Python3之random模块常用方法
    Go语言学习笔记(九)之数组
    Go语言学习笔记之简单的几个排序
    Go语言学习笔记(八)
    Python3之logging模块
    Go语言学习笔记(六)
    123. Best Time to Buy and Sell Stock III(js)
    122. Best Time to Buy and Sell Stock II(js)
    121. Best Time to Buy and Sell Stock(js)
    120. Triangle(js)
  • 原文地址:https://www.cnblogs.com/pyman/p/1326933.html
Copyright © 2011-2022 走看看