gridview是绑定数据库的2张表的一些字段动态生成的,里面加入了checkbox,然后我想通过对checkbox的值checked是否为true来执行一些操作,其实就是如果为ture,我就获取girdview的第一个字段的值,然后在数据库一个表里面update一个字段的数据而已,不过现在问题是点了按钮后没有反应,代码如下。。是什么原因呢?? protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt = new rukuDAO().dingdan();
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
string j;
for (int i = 0; i < GridView1.Rows.Count-1; i++)
{
CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cb.Checked)
{
j = GridView1.Rows[i].Cells[0].Text.ToString();
Modelruku rk = new Modelruku(j);
new rukuDAO().ruku(rk);
}
} } protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
//建立模板列中CheckBox控件的引用
CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (CheckBox2.Checked == true)
{
cb.Checked = true;
}
else
{
cb.Checked = false;
}
}
}
{
DataTable dt = new DataTable();
dt = new rukuDAO().dingdan();
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
string j;
for (int i = 0; i < GridView1.Rows.Count-1; i++)
{
CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cb.Checked)
{
j = GridView1.Rows[i].Cells[0].Text.ToString();
Modelruku rk = new Modelruku(j);
new rukuDAO().ruku(rk);
}
} } protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
//建立模板列中CheckBox控件的引用
CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (CheckBox2.Checked == true)
{
cb.Checked = true;
}
else
{
cb.Checked = false;
}
}
}
解决方案 »
- 使用反射机制写一个方法?
- datalist实现分页
- LinkButton怎么把当前页面的QueryString参数传到别的页面
- 用asp.net 动态显示出树 非常感谢!!!
- 未能映射路径“/template/site/NoLoginHtmlHead.html”。
- 入门处级,大家帮帮忙吧~~
- 如何引用动态创建在Panel里面的控件?
- reportviewer的部署问题
- 如何利用浏览器把客户硬盘数据上传到服务器?
- 请问:but.Attributes.Add("onclick", "javascript:return confirm('aaa');") 脚本那段用vbs写应该怎样写?请大家帮忙!!谢谢!!
- 连接框架问题
- 求助~!flash播放器插件问题
是不是没有postback啊~你每次点击都是刷新,都重新load
这些写到前台其实不错,都可以防止后台刷新~
{
DataTable dt = new DataTable();
dt = new rukuDAO().dingdan();
if(!IsPostBack)
{
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
忘记说了gridview要随着按钮的触发事件随时改变的哦所以应该不用加postback吧?
你好啊,就是不知道为什么他进不了if语句那里,因为我明明已经在checkbox上勾选了,可是为什么就进入不了if 语句呢?我的方法是在if语句里面的new rukuDAO().ruku(rk);
很郁闷啊。。
现在可以进入循环了。。原来是if语句的判断条件忘记=ture了,对了,为什么我获取不了gridview第一列的值呢?
难道是我这句话写错了?
j = GridView1.Rows[i].Cells[0].Text.ToString();
public partial class Buyruku : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ DataTable dt = new DataTable();
dt = new rukuDAO().dingdan();
if (!IsPostBack)
{
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string BuyId;
for (int i = 0; i <= GridView1.Rows.Count-1; i++)
{ CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if ( cb.Checked == true )
{
BuyId = this.GridView1.Rows[i].Cells[1].Text;
Modelruku rk = new Modelruku(BuyId);
new rukuDAO().ruku(rk);
DataTable dt2 = new DataTable();
dt2 = new rukuDAO().dingdan();
GridView1.DataSource = dt2; //其实我知道是这里数据重新绑定的问题但是我想了半天也知道放在哪里好
GridView1.DataBind();
}
} }