c# datagirdView 删除行
我把数据从库里读出,在界面的datagridview内显示,我现在想实现直接在Datagridview内删除多行,我在Datagridview增加了一列checkbox,...
我把数据从库里读出,在界面的datagridview内显示,我现在想实现直接在Datagridview内删除多行,我在Datagridview增加了一列checkbox,以判定该行是否选中 ,点击在界面内的删除按钮,就可以利用循环删除选中行,
但我现在出现了问题,运行程序时,加载数据出错:***值不是bool型的!
我希望高手们救救急,能给出实现这功能的具体代码!!谢谢,越快越好 展开
但我现在出现了问题,运行程序时,加载数据出错:***值不是bool型的!
我希望高手们救救急,能给出实现这功能的具体代码!!谢谢,越快越好 展开
6个回答
展开全部
这是我以前作品里的删除代码
你可以用来试试
protected void Btndelete_Click(object sender, ImageClickEventArgs e)
{
Service.BS.noteBS nbs = new Service.BS.noteBS();
CheckBox cb = null;
//定义字符串数组,存放选中的每条数据的主键
string[] noteIDs = new string[200];
for (int i = 0; i < this.GVshow.Rows.Count; i++)
{
cb = (CheckBox)this.GVshow.Rows[i].FindControl("cbxID");
if (cb.Checked)
{
noteIDs[i] = nbs.noteinfo().Tables[0].Rows[i]["id"].ToString();
}
}
if (cb != null)
{
for (int i = 0; i < noteIDs.Length; i++)
{
Service.BS.identifier ide = new Service.BS.identifier();
ide.id = noteIDs[i];
nbs.noteDel(ide);
}
this.GVshow.DataSource = nbs.noteinfo();
this.GVshow.DataBind();
}
else
{
Response.Write("<script language=\"jscript\">alert(\"没选择要删除的数据!\");</script>");
}
this.LbStat.Text = "共有 " + nbs.noteinfo().Tables[0].Rows.Count + " 条记录";
}
你可以用来试试
protected void Btndelete_Click(object sender, ImageClickEventArgs e)
{
Service.BS.noteBS nbs = new Service.BS.noteBS();
CheckBox cb = null;
//定义字符串数组,存放选中的每条数据的主键
string[] noteIDs = new string[200];
for (int i = 0; i < this.GVshow.Rows.Count; i++)
{
cb = (CheckBox)this.GVshow.Rows[i].FindControl("cbxID");
if (cb.Checked)
{
noteIDs[i] = nbs.noteinfo().Tables[0].Rows[i]["id"].ToString();
}
}
if (cb != null)
{
for (int i = 0; i < noteIDs.Length; i++)
{
Service.BS.identifier ide = new Service.BS.identifier();
ide.id = noteIDs[i];
nbs.noteDel(ide);
}
this.GVshow.DataSource = nbs.noteinfo();
this.GVshow.DataBind();
}
else
{
Response.Write("<script language=\"jscript\">alert(\"没选择要删除的数据!\");</script>");
}
this.LbStat.Text = "共有 " + nbs.noteinfo().Tables[0].Rows.Count + " 条记录";
}
展开全部
判断有问题,不是bool型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的CheckBox绑定数据了没有?如果要绑定,数据源列必须是Bool类型。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string strsql, strDel;
strsql = String.Empty;
int count = GridView1.Rows.Count;
CheckBox cb;
for (int i = 0; i < count; i++)
{
cb = (CheckBox)this.GridView1.Rows[i].Cells[1].FindControl("CheckBox1");
if (cb.Checked)
{
strsql += "要删除的列名=" + "'" + GridView1.Rows[i].Cells[0].Text + "'" + " or ";
}
}
strDel = "delete from 表名 where " + strsql.Remove(strsql.LastIndexOf("or") - 1);
strDel就是最后的SQL语句了,怎么写知道吧
strsql = String.Empty;
int count = GridView1.Rows.Count;
CheckBox cb;
for (int i = 0; i < count; i++)
{
cb = (CheckBox)this.GridView1.Rows[i].Cells[1].FindControl("CheckBox1");
if (cb.Checked)
{
strsql += "要删除的列名=" + "'" + GridView1.Rows[i].Cells[0].Text + "'" + " or ";
}
}
strDel = "delete from 表名 where " + strsql.Remove(strsql.LastIndexOf("or") - 1);
strDel就是最后的SQL语句了,怎么写知道吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(GridView1.Rows[i].Cells[0].Value.ToString() == "True")
{
//你直接这样去判断
}
{
//你直接这样去判断
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
54
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询