读书人

gridview里checkbox选择的有关问题

发布时间: 2012-04-02 19:58:59 作者: rapoo

gridview里checkbox选择的问题
我的gridvew里放了一列checkbox按钮,在删除时我先判断选中的行数,然后弹出一个确认窗口,但是第一次点击时没有出,第二次时才弹出窗口。之后每次一次弹出窗口选择的数即下文中的目count都是上一次选择的,不知道各位有没有遇到过这个问题。怎么解决?


protected void btDelete_Click(object sender, EventArgs e)
{
int count = 0;
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox Cb = (CheckBox)GridView1.Rows[i].FindControl("Checkbox");
if (Cb.Checked)
{
count++;
}
}
if (0 == count)
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script>alert('请选择删除项')</script>");
}
else
{
this.btDelete.Attributes.Add("onclick","return confirm('确定删除这" +count.ToString()+ "项么?');");
for (int j = 0; j < GridView1.Rows.Count; j++)
{
CheckBox Cb = (CheckBox)GridView1.Rows[j].FindControl("Checkbox");
if (Cb.Checked)
{
int id = Convert.ToInt32(GridView1.DataKeys[j]["id"].ToString());


int flag = Productbll.proDel(id);

}
}
if (this.ddlProductLine.SelectedValue == "please choose")
{
MorenBind();
}
else
{
Bind();
}

}
}

[解决办法]
CS代码

C# code
protected void Page_Load(object sender, EventArgs e)    {        if (!IsPostBack)        {            Button1.Attributes.Add("onclick", "javascript:Confirm();");        }    }    protected void btDelete_Click(object sender, EventArgs e)    {        if (!string.IsNullOrEmpty(HiddenField1.Value) && int.Parse(HiddenField1.Value) > 0)        {            for (int j = 0; j < GridView1.Rows.Count; j++)            {                CheckBox Cb = (CheckBox)GridView1.Rows[j].FindControl("Checkbox");                if (Cb.Checked)                {                    int id = Convert.ToInt32(GridView1.DataKeys[j]["id"].ToString());                    int flag = Productbll.proDel(id);                }            }            if (this.ddlProductLine.SelectedValue == "please choose")            {                MorenBind();            }            else            {                Bind();            }        }    } 

读书人网 >C#

热点推荐