public partial class yonghuguanli_yonghuguanli1 : System.Web.UI.Page
{
    SqlConnection sqlcon;
    SqlCommand sqlcom;
    string strCon = "Data Source=.;Database=Comic Box;Uid=sa;Pwd=sa";
    protected void Page_Load(object sender, EventArgs e)
    {
        DropDownList ddl = new DropDownList();
        if (!IsPostBack)
        {
            string sqlstr = "select  * from users";
            sqlcon = new SqlConnection(strCon);
            sqlcon.Open();
            SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
            DataSet myds = new DataSet();            myda.Fill(myds, "users");
            GridView1.DataSource = myds;
            GridView1.DataBind();
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                DataRowView mydrv = myds.Tables["users"].DefaultView[i];
                if (Convert.ToString(mydrv["role"]).Trim() == "1")
                {
                    ddl = (DropDownList)GridView1.Rows[i].FindControl("DropDownList1");
                    ddl.SelectedIndex = 0;
                }
                if (Convert.ToString(mydrv["role"]).Trim() == "2")
                {
                    ddl = (DropDownList)GridView1.Rows[i].FindControl("DropDownList1");
                    ddl.SelectedIndex = 2;
                }                //bind();
            }
            sqlcon.Close();
            //string n = null;        }
    }    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        this.GridView1.EditIndex = e.NewEditIndex;
        bind();
    }    //删除
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        string sqlstr = "delete from Users where username='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";这一句在此处提示出错
         sqlcon = new SqlConnection(strCon);
        sqlcom = new SqlCommand(sqlstr, sqlcon);
        sqlcon.Open();
        sqlcom.ExecuteNonQuery();
        sqlcon.Close();
        bind();
        Response.Write("<script language='javascript'>location='yonghuguanli1.aspx'</script>");
    }    //更新
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        sqlcon = new SqlConnection(strCon);
        string sqlstr = "update users set username='"
          + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',userpass='"
          + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',email='"
          + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "',phone='"
          + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "',address='"
          + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim() + "' where username='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
        sqlcom = new SqlCommand(sqlstr, sqlcon);
        sqlcon.Open();
        sqlcom.ExecuteNonQuery();
        sqlcon.Close();
        GridView1.EditIndex = -1;
        bind();
        Response.Write("<script language='javascript'>location='yonghuguanli1.aspx'</script>");    }    //取消
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        bind();
        Response.Write("<script language='javascript'>location='yonghuguanli1.aspx'</script>");
    }    //绑定
    public void bind()
    {
        string sqlstr = "select * from users";
        sqlcon = new SqlConnection(strCon);
        SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
        DataSet myds = new DataSet();
        sqlcon.Open();
        myda.Fill(myds, "users");
        GridView1.DataSource = myds;
        GridView1.DataKeyNames = new string[] { "username" };//主键
        GridView1.DataBind();
        sqlcon.Close();
    }
    protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
    {
        for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
        {
            CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
            if (CheckBox2.Checked == true)
            {
                cbox.Checked = true;
            }
            else
            {
                cbox.Checked = false;
            }
        }
       
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        sqlcon = new SqlConnection(strCon);
        SqlCommand sqlcom;
        for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
        {
            CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
            if (cbox.Checked == true)
            {                string sqlstr = "delete from users where username='" + GridView1.DataKeys[i].Value + "'";
                sqlcom = new SqlCommand(sqlstr, sqlcon);
                sqlcon.Open();
                sqlcom.ExecuteNonQuery();
                sqlcon.Close();
            }
        }
        bind();
        Response.Write("<script language='javascript'>location='yonghuguanli1.aspx'</script>");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        CheckBox2.Checked = false;
        for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
        {
            CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
            cbox.Checked = false;
        }
        Response.Write("<script language='javascript'>location='yonghuguanli1.aspx'</script>");
    }
    public SqlDataReader ddlbind()
    {
        string sqlstr = "select distinct role from users";
        sqlcon = new SqlConnection(strCon);
        SqlCommand sqlcom = new SqlCommand(sqlstr, sqlcon);
        sqlcon.Open();
        return sqlcom.ExecuteReader();
    }
    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        GridView1.Columns[6].Visible = !GridView1.Columns[6].Visible;
        //Response.Write("GridView1的第6列现在的显示隐藏状态是:" + GridView1.Columns[6].Visible.ToString());
        if (GridView1.Columns[6].Visible)
        {
            Response.Write("<script language=javascript>alert('角色所在列已经成功显示!'); </script>");
        }
        else
        {
            Response.Write("<script language=javascript>alert('角色所在列已经成功隐藏!');</script>");
        }
    }
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        {
            int i;
            //执行循环,保证每条数据都可以更新
            for (i = -1; i < GridView1.Rows.Count; i++)
            {
                //首先判断是否是数据行
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    //当鼠标停留时更改背景色
                    e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='pink'");
                    //当鼠标移开时还原背景色
                    e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
                }
            }
        }
        //如果是绑定数据行 ,弹出提示窗口
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
            {
                ((LinkButton)e.Row.Cells[9].Controls[0]).Attributes.Add("onclick", "javascript :return confirm('你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?')");
            }
        }
    }
     
    public override void VerifyRenderingInServerForm(Control control)
    { } 
}

解决方案 »

  1.   

      .Substring(0, ids.Length - 1);
      

  2.   

     string sqlstr = "delete from Users where username='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";这一句在此处提示出错
    你是不是要把选择的全部一次删除  \\\GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";你这句写错了
    GridView1.DataKeys[e.RowIndex].Value.ToString() + ",";
    在用Substring(0, ids.Length - 1)把最后那一个点给去调不要
      

  3.   

    string ids = "";
            //删除
            for (int i = 0; i < gvUser.Rows.Count; i++)
            {
                //查找复选框
               CheckBox chkSel= gvUser.Rows[i].Cells[0].FindControl("chkSel") as CheckBox;
                //
               if (chkSel.Checked == true)
               {
                   //得到id
                   ids+= gvUser.DataKeys[i][0].ToString()+",";
               }        }
            //
            ids = ids.Substring(0, ids.Length - 1);
    要样写才对的