关于Gridview的全选删除

zioc2008 2010-10-18 10:50:38
我这个gridview ID是gvEmailInfo


前台:
<asp:TemplateField>
<HeaderTemplate>
<input id="select_all" onclick="checkFormAll(this.checked)" type="checkbox">
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="select_one" runat="server" />
</ItemTemplate>
</asp:TemplateField>

js:
<script type="text/javascript">
function checkFormAll(chk) {
form = document.getElementById("select_all");
for (var i = 0; i < form1.elements.length; i++) {
if (form1.elements[i].type == "checkbox") {
form1.elements[i].checked = chk;
}
}
}
</script>

后台:
protected void Page_Load(object sender, EventArgs e)
{
string sqlstr = "SELECT * FROM messageView WHERE Rreceiver='" + SnoOrTno + "'";
gvEmailInfo.DataKeyNames = new string[] {"Mno"};
sqloperate.gvBind(gvEmailInfo, sqlstr);

}


//删除button
protected void DelSelected_Click(object sender, EventArgs e)
{
string str_id = "";
for (int i = 0; i < this.gvEmailInfo.Rows.Count; i++)
{
CheckBox cbox = (CheckBox)gvEmailInfo.Rows[i].FindControl("select_one");
if (cbox.Checked == true)
{
string id = gvEmailInfo.DataKeys[i].Value.ToString();
if (i == this.gvEmailInfo.Rows.Count - 1)
{
str_id = str_id + id;
}
else
{

str_id = str_id + id + ",";
}

}

}
string delStr = "DELETE Receiver WHERE Mno in(" + str_id + ") AND Rreceiver='" + SnoOrTno + "'";
sqloperate.DataCom(delStr);
gvEmailInfo.DataBind();

}




数据库操作:


public void DataCom(string sqlstr)
{
sqlconn.Open();
SqlCommand sqlcomm = new SqlCommand(sqlstr, sqlconn);
sqlcomm.ExecuteNonQuery();
sqlconn.Close();
}
public void gvBind(GridView gv, string sqlstr)
{
sqlconn.Open();
SqlDataAdapter sqldataadapter = new SqlDataAdapter(sqlstr, sqlconn);
DataSet mydataset = new DataSet();
sqldataadapter.Fill(mydataset);
gv.DataSource = mydataset;
gv.DataBind();
sqlconn.Close();
}



现在的问题是功能没实现

症结是str_id的值一直为空(运行后 红色处的语句是DELETE Receiver WHERE Mno in() AND Rreceiver='" + SnoOrTno + "'")

想说的是这个gridview绑定的是一个视图(也就是messageView),和这个有关系么?



请前辈们指教,谢谢!!
...全文
107 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zioc2008 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 q107770540 的回复:]

gridview的分页事件是怎么写的
[/Quote]

我新手 谢谢耐心指教呢
zioc2008 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 q107770540 的回复:]

gridview的分页事件是怎么写的
[/Quote]

protected void gvEmailInfo_PageIndexChanging(object sender, GridViewPageEventArgs e)
{

gvEmailInfo.PageIndex = e.NewPageIndex;
gvEmailInfo.DataBind();

}
q107770540 2010-10-18
  • 打赏
  • 举报
回复
gridview的分页事件是怎么写的
zioc2008 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 q107770540 的回复:]

protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{

string sqlstr = "SELECT * FROM messageView WHERE Rreceiver='" + SnoOrTno + "'";
gvEmailInfo.DataKeyNames = ne……
[/Quote]

加上以后 去得到值 但gridview的分页又没用了
_Will_ 2010-10-18
  • 打赏
  • 举报
回复
gridview 72般绝技 百度下 找找看 里面好多应用的介绍
q107770540 2010-10-18
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{

string sqlstr = "SELECT * FROM messageView WHERE Rreceiver='" + SnoOrTno + "'";
gvEmailInfo.DataKeyNames = new string[] {"Mno"};
sqloperate.gvBind(gvEmailInfo, sqlstr);
}
}
段传涛 2010-10-18
  • 打赏
  • 举报
回复
多说无意义 你研究研究吧
http://blog.csdn.net/21aspnet/archive/2007/03/25/1540301.aspx
q107770540 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zioc2008 的回复:]

protected void gvEmailInfo_PageIndexChanging(object sender, GridViewPageEventArgs e)
{

gvEmailInfo.PageIndex = e.NewPageIndex;
gvEmailInfo.DataBind();

}
[/Quote]
你的分页写的就不对
protected void gvEmailInfo_PageIndexChanging(object sender, GridViewPageEventArgs e)
{

gvEmailInfo.PageIndex = e.NewPageIndex;
string sqlstr = "SELECT * FROM messageView WHERE Rreceiver='" + SnoOrTno + "'";
gvEmailInfo.DataKeyNames = new string[] {"Mno"};
sqloperate.gvBind(gvEmailInfo, sqlstr);

}
wuyq11 2010-10-18
  • 打赏
  • 举报
回复
aspnetpager分页控件很方便
wuyq11 2010-10-18
  • 打赏
  • 举报
回复
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) {
GridView1.PageIndex = e.NewPageIndex;
GridView1.datasource="数据源";
GridView1.DataBind();
}

if(!IsOPostBack)BindData();

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧