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();

    慢慢理解.好

  • 相关阅读:
    java===单类设计模式之饿汉式与懒汉式
    java===数组工具类创建,并使用eclipse导出说明文档.html
    java===static关键字
    java===this关键字
    java=====二维数组应用
    java===算法思想锻炼
    【CSP-S 2019模拟】题解
    【CSP-S 2019模拟】题解
    【LOJ#2124】【HAOI2015】—树上染色(树形dp)
    【LOJ#2019】【AHOI / HNOI2017】—影魔(线段树+扫描线)
  • 原文地址:https://www.cnblogs.com/pyman/p/1326933.html
Copyright © 2011-2022 走看看