当前位置:编程学习 > C#/ASP.NET >>

分不多,但请求高人帮我解决一个 checkbox问题

checkbox   id      name
口           1         aa
口           2          aa
口           4          aa
口           3          aa

    我要如何做到 
有一个文本框  在文本框里面输入一个数字  然后在选择了checkbox的情况下
 点击按扭 一次更新所有选择的checkbox的id


我写了一个这样的方法
if (IsPostBack)
        {
            string constr = System.Configuration.ConfigurationSettings.AppSettings["constr"].ToString();
            SqlConnection sqlcon = new SqlConnection(constr);
            SqlCommand sqlcom;
            foreach (GridViewRow row in this.GridView1.Rows)
            {
                CheckBox CheckRow = (CheckBox)row.FindControl("CheckBox1");
                if (CheckRow.Checked)
                {
                   
                    if (CheckRow.Checked==true)
                   {
                       try
                       {
                           string sqlstr = "update  tb_client  set  Crm_pid =('" + TextBox4.Text + "') where '" + CheckRow.Checked.Equals(true) + "'";
                           sqlcom = new SqlCommand(sqlstr, sqlcon);
                           sqlcon.Open();
                           sqlcom.ExecuteNonQuery();
                           sqlcon.Close();
                       }
                       catch (Exception ex)
                       {
                           ex.Message.ToString();
                       }
                    }
                   else
                   { }
                }

但是没用 请求帮忙!! --------------------编程问答-------------------- up --------------------编程问答-------------------- up --------------------编程问答-------------------- 你试试用GridView的索引的FindControl方法. --------------------编程问答-------------------- 请详细说一下 --------------------编程问答-------------------- 具体代码在公司里,我明晚再详细说.
先指定到你要编辑的那行,取它的索引.
你的CheckBox是GridView1的一个编辑列吧.
在"GridView1_editCommand(object sender, System.EventArgs e)"里
你就能用e.Item.FindControl()来取值了.
这些代码是我手写的,可能有误.
--------------------编程问答-------------------- 刚看到另一个帖里的(http://topic.csdn.net/u/20071025/16/d86c4dee-10e5-44b5-ab54-0a7d160e7056.html)
如果是DataGrid的话: 


string id=""; 
for (int i=0;i <DataGrid1.Item.Count;i++) 

    CheckBox chk = (CheckBox)DataGrid1.Items[i].FindControl("chk"); 
    if (chk.Checked) 
    { 
        id = DataGrid1.Items[i].Cells[1].Text; 
        Response.Write("Delete:" + id.ToString(); 
    } 
}

我自己写的有点记不清了,明天去公司看了源代码再来回复. --------------------编程问答-------------------- 只能用Findcontrol(); --------------------编程问答-------------------- UP --------------------编程问答-------------------- 请看清题目在回好吗? --------------------编程问答-------------------- CheckBox CheckRow = (CheckBox)row.FindControl("CheckBox1"); 
这里用了findcontrol

string sqlstr = "update  tb_client  set  Crm_pid =( '" + TextBox4.Text + " ') where  '" + CheckRow.Checked.Equals(true) + " '"; 
这里为什么不用findcontrol呢?
都是在gridview里边的吧?

另外还有一个问题,你这个sql写出来是什么??
update  tb_client  set  Crm_pid ’aaa’ where  'true'

 
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,