GridView如何进行添加,查询,和批量删除

爱吃芋头 2008-07-10 08:22:07
我刚实现了gridview中的全选和反选的功能,可是该怎么将chexBox选中的项删除呢,还有就是怎么实现添加和查询

我是新手好多不懂的,请大家帮帮忙,上baidu上搜的我头疼!!!
...全文
260 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱吃芋头 2008-07-10
  • 打赏
  • 举报
回复
有没有添加和查询的代码
qingqinging 2008-07-10
  • 打赏
  • 举报
回复
Gridview控件中的checkbox控件.经常在Gridview控件中,需要给用户多项选择的功能,这个时候就需要使用checkbox控件.首先我们建立一个模版列,其中有checkbox如下:
<asp:GridView ID=GridView1 runat=server AllowPaging=True AllowSorting=True
AutoGenerateColumns=False DataKeyNames=PersonID DataSourceID=mySource Width=366px CellPadding=4 ForeColor=#333333 GridLines=None>
<Columns>
<asp:CommandField ShowSelectButton=True />
<asp:BoundField DataField=PersonID HeaderText=PersonID InsertVisible=False
ReadOnly=True SortExpression=PersonID />
<asp:BoundField DataField=Name HeaderText=Name SortExpression=Name />
<asp:TemplateField HeaderText=Select>
<ItemTemplate>
<asp:CheckBox ID=chkSelect runat=server />
</ItemTemplate>
<HeaderTemplate>
</HeaderTemplate>
</asp:TemplateField>
</Columns>

可以增加一个按钮,当用户选择gridview中的选项后,点该按钮,则可以输出用户选啦哪些选项,在按钮的CLICK事件中写入如下代码:

for (int i = 0; i < GridView1.Rows.Count; i++)
{
 GridViewRow row = GridView1.Rows[i];
 bool isChecked = ((CheckBox) row.FindControl(chkSelect)).Checked;
 if (isChecked)
 {
  str.Append(GridView1.Rows[i].Cells[2].Text);
 }
}
Response.Write(str.ToString());

</asp:GridView>
我们添加一个全选的选择框,当用户选择该框时,可以全部选择gridview中的checkbox.首先我们在headtemplate中如下设计:

<HeaderTemplate>
<input id=chkAll runat=server type=checkbox />
</HeaderTemplate>

  javas cript部分的代码如下所示:
<script language="javascript"> 
function SelectAllCheckboxes(spanChk){
 var oItem = spanChk.children;
 var theBox=(spanChk.type==checkbox)?spanChk:spanChk.children.item[0];
 xState=theBox.checked;
 elm=theBox.form.elements;
 for(i=0;i<elm.length;i++)
 if(elm[i].type==checkbox && elm[i].id!=theBox.id)
 {
  if(elm[i].checked!=xState)
  elm[i].click();
 }
}
</script>


删除记录时给出确认提示:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
 if (e.Row.RowType == DataControlRowType.DataRow)
 {
  LinkButton l = (LinkButton)e.Row.FindControl(LinkButton1);
  l.Attributes.Add(onclick, javas cript:return + confirm(是否要删除该记录? +
  DataBinder.Eval(e.Row.DataItem, id) + ));
 }
}

爱吃芋头 2008-07-10
  • 打赏
  • 举报
回复
ai~~~~~~~~~~~~~~~~~~~~~
爱吃芋头 2008-07-10
  • 打赏
  • 举报
回复
看不懂,因为我asp.net的sql不懂,能不能给点注释更加详细的!

我晕死,以前学java也没觉的有asp.net这么麻烦,我还以为.net比java好学呢!晕死!
sheng9hhd 2008-07-10
  • 打赏
  • 举报
回复
你foreach也行,检查那些被选中然后拼sql
seesea125 2008-07-10
  • 打赏
  • 举报
回复
添加的话,建议做个链接,打开新窗口添加就行,简单又人性化

查询的话,就是在查询事件里,根据查询的条件拼出不同的sql语句,然后执行sql,并重新绑定
seesea125 2008-07-10
  • 打赏
  • 举报
回复
aspx页面
<asp:linkbutton id="btnDelete" runat="server" onclick="btnDelete_Click">删除所选</asp:linkbutton></td>

cs

protected void btnDelete_Click(object sender, System.EventArgs e)
{
string goodsID=Request["BatchDel"];
if(goodsID!=null)
{
string sql="delete tb_AsiaShipFuelOilPrice where f_id in ("+goodsID+")";
int a=Lib.BatchDelete(sql);

if(a>=0)
{
this.lbl_ShowMessage.Text =MsgBox.alter("批量删除成功!");
}
else
{
this.lbl_ShowMessage.Text =MsgBox.alter("批量删除失败!");
}
this.BindGrid();
}
}

62,133

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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