gridview里的checkbox问题

pinkyll 2006-10-25 08:35:06
gridview里显示一列标题列,点击标题列字段,数据表其他内容就显示在TEXBOX里,为什么加上CHEKBOX,删除功能就不起作用了呢,如果只是显示标题列,不做数据表内容显示在TEXBOX这个功能,就能成功删除,逐句调试时,发现是string sql = "delete from news where biaoti =“”为空,是什么原因呢?
protected void Page_Load(object sender, EventArgs e)
{
string conn = System.Configuration.ConfigurationManager.AppSettings["strConn"].ToString();

SqlConnection con = new SqlConnection(conn);
con.Open();


DataSet myDataSet = new DataSet();
SqlDataAdapter myCommand = new SqlDataAdapter("newsList", con);

//填充DataSet
myCommand.Fill(myDataSet);

//关闭链接
GridView1.DataSource = myDataSet;

//绑定
GridView1.DataBind();

Button1.Attributes.Add("onclick", "return confirm('您确定要删除所有选定记录吗?');");

}
protected void Button1_Click(object sender, EventArgs e)
{
int i;

for (i = 0; i < this.GridView1.Rows.Count; i++)
{


if (((CheckBox)this.GridView1.Rows[i].Cells[1].FindControl("CheckBox1")).Checked == true)
{
string conn = System.Configuration.ConfigurationManager.AppSettings["strConn"].ToString();
SqlConnection con = new SqlConnection(conn);
con.Open();
DataSet ds = new DataSet();
string sql = "delete from news where biaoti ='" + this.GridView1.Rows[i].Cells[1].Text.ToString() + "'";
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand(sql, con);
da.Fill(ds, "news");
con.Close();

}
}

string conn1 = System.Configuration.ConfigurationManager.AppSettings["strConn"].ToString();
SqlConnection con1 = new SqlConnection(conn1);
con1.Open();
DataSet myDataSet = new DataSet();
SqlDataAdapter myCommand = new SqlDataAdapter("newsList", con1);

//填充DataSet
myCommand.Fill(myDataSet);

//关闭链接
GridView1.DataSource = myDataSet;

//绑定
GridView1.DataBind();
con1.Close();


}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
TextBox1.Text = GridView1.SelectedDataKey["biaoti"].ToString();
TextBox2.Text = GridView1.SelectedDataKey["fabuzhe"].ToString();
TextBox3.Text = GridView1.SelectedDataKey["shijian"].ToString();
TextBox4.Text = GridView1.SelectedDataKey["neirong"].ToString();
}
}
...全文
246 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pinkyll 2006-10-30
  • 打赏
  • 举报
回复
cells[1]改为[0]了,可是问题依然存在,我不是又重新邦定了一次数据库吗,所以应该不是这个问题
NarutoHikaru 2006-10-29
  • 打赏
  • 举报
回复
感觉的你gridbind()写在page_load事件里面,你的button1.click里面的那个
checked一直都会是flase,
还有你的cells[1]不是第二列的值吗?怎么会是checkbox呢?
pinkyll 2006-10-29
  • 打赏
  • 举报
回复
CHECKBOX就是在第一列啊?
runrunrun 2006-10-27
  • 打赏
  • 举报
回复
那你用 Cells[1] 错了。 checkbox在第一列,标题应该在其他的列
pinkyll 2006-10-25
  • 打赏
  • 举报
回复
不对啊,是在GRIDVIEW里有两列,一列显示标题字段,一列是摸板列添加的CHECKBOX
runrunrun 2006-10-25
  • 打赏
  • 举报
回复
没太看明白。你的标题是作为checkbox控件的文本来显示的吗?
如果是,则应该用
string sql = "delete from news where biaoti ='" + (CheckBox)this.GridView1.Rows[i].Cells[1].FindControl("CheckBox1")).Text + "'";
pinkyll 2006-10-25
  • 打赏
  • 举报
回复
加过试了不行,一点击就成白版了
xingyaohua 2006-10-25
  • 打赏
  • 举报
回复
Page_Load里先加上
if(!IsPostBack())
{

}试试
相关推荐
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-10-25 08:35
社区公告

让您成为最强悍的C#开发者