在asp.net中实现datagrid checkbox 全选的方法

 更新时间:2006年12月29日 00:00:00   作者:  

复制代码 代码如下:
<form runat="server"> 
<asp:DataGrid AutoGenerateColumns="false"  OnItemCreated="itemcreate" DataKeyField="link_id" ID="mydg" runat="server" > 
<columns> 
<asp:TemplateColumn> 
<headertemplate> 
<asp:CheckBox ID="checkall" OnCheckedChanged="chkall_onchanged"  AutoPostBack="true" runat="server"></asp:CheckBox> 
</headertemplate> 
<itemtemplate> 
<asp:CheckBox ID="checkdel" runat="server"></asp:CheckBox> 
</itemtemplate> 
</asp:TemplateColumn> 
<asp:BoundColumn DataField="link_id" HeaderText="Link_Id" ></asp:BoundColumn> 
<asp:BoundColumn HeaderText="网站名称" DataField="sitename" /> 
<asp:BoundColumn HeaderText="网站地址" DataField="url" /> 
<asp:BoundColumn HeaderText="网站介绍" DataField="intro" /> 
<asp:BoundColumn HeaderText="网站评分" DataField="grade" /> 
<asp:BoundColumn HeaderText="提交时间" DataField="submit_date"></asp:BoundColumn> 
</columns> 
</asp:DataGrid> 
<asp:Label ID="lb1" runat="server"></asp:Label> 

<asp:Button ID="btn1" Text="删 除" runat="server" OnClick="btn1_onclick"></asp:Button> 
<asp:Button ID="ok" OnClick="ok_click" Text="保存修改" runat="server"></asp:Button> 
<asp:Button ID="cancel" OnClick="cancel_click" Text="取消修改" runat="server"></asp:Button> 
</form> 


<%@ import namespace="system.data"%> 
<%@ import namespace="system.data.oledb"%> 
<script language="vb" runat="server"> 
dim conn as  oledbconnection 
dim ds as dataset 
sub Page_load(sender as object,e as eventargs) 
if not ispostback then 
calldb() 
else 
ds=session("ds") 
end if 

end sub 
sub calldb() 
conn = new oledbconnection("provider=Microsoft.jet.oledb.4.0;data source="& server.MapPath("wwwlink.mdb")) 
dim sqlstr="select * from link" 
conn.open() 
dim adp as new oledbdataAdapter(sqlstr,conn) 
 ds =new dataset() 
adp.fill(ds,"link") 
mydg.DataSource=ds.tables("link").defaultview 
mydg.databind() 
conn.close() 
session("ds")=ds 
end sub 
sub btn1_onclick(sender as object, e as eventargs) 
dim chk as checkbox 
dim id as string 
dim datag as datagriditem 
conn = new oledbconnection("provider=Microsoft.jet.oledb.4.0;data source="& server.MapPath("wwwlink.mdb")) 
dim sqlstr as string 
dim cmd as oledbcommand 

dim i as integer 
'for each datag in mydg.items 

for i=0 to mydg.items.count-1 
'chk=ctype(datag.findcontrol("checkdel"),checkbox) 
'chk=datag.findcontrol("checkdel") 
chk=mydg.items(i).cells(0).findcontrol("checkdel") 
if chk.checked then 
id=cstr(mydg.items(i).cells(1).text) 
'id=cstr(mydg.datakeys(datag.itemindex)) 
conn.open() 
sqlstr="delete from link where link_id=" & id 
cmd=new oledbcommand(sqlstr,conn) 
cmd.executenonquery 
'ds.tables("link").rows(i).delete() 
conn.close() 
end if 

next 
'session("ds")=ds 
'mydg.edititemindex=-1 
'mydg.datasource=ds.tables("link").defaultview 
'mydg.databind() 
calldb() 
end sub 
sub cancel_click(sender as object, e as eventargs) 
calldb() 
end sub 

sub ok_click(sender as object, e as eventargs) 
conn=new oledbconnection("provider=Microsoft.jet.oledb.4.0;data source="&server.MapPath("wwwlink.mdb")) 
dim adp as new oledbdataadapter("select * from link",conn) 
dim ocb as new oledbcommandbuilder(adp) 
adp.updatecommand=ocb.getupdatecommand() 
adp.deletecommand=ocb.getdeletecommand() 
adp.update(ds,"link") 
calldb() 
end sub 
dim checka as checkbox 
sub itemcreate(sender as object, e as datagriditemeventargs) 
if (e.item.itemtype=Listitemtype.Header) then 
checka=e.item.findcontrol("checkall") 
end if 
end sub 

sub chkall_onchanged(sender as object,e as eventargs) 

dim i as integer 
if checka.checked=true then 
for i=0 to mydg.items.count-1 

dim chk as checkbox=mydg.items(i).cells(0).findcontrol("checkdel") 
chk.checked=true 
next 
else 
for i=0 to mydg.items.count-1 
dim chk as checkbox=mydg.items(i).cells(0).findcontrol("checkdel") 
chk.checked=false 
next 

end if 
end sub 
</script> 

相关文章

  • LINQ重写博客垃圾图片回收算法

    LINQ重写博客垃圾图片回收算法

    本人博客后台管理模块有个功能,可以扫描图片上传文件夹下所有未被引用的博客
    2012-02-02
  • C#,winform,ShowDialog,子窗体向父窗体传值

    C#,winform,ShowDialog,子窗体向父窗体传值

    窗体的show方法,没有给调用代码任何通知,如果需要通知,使用showdialog是一种好的选择。 在调用show方法后,show方法后面的代码会立即执行,
    2008-08-08
  • 微信JS-SDK分享功能的.Net实现代码

    微信JS-SDK分享功能的.Net实现代码

    这篇文章主要介绍了微信JS-SDK分享功能的.Net实现代码的相关资料,需要的朋友可以参考下
    2017-09-09
  • asp.net安全、实用、简单的大容量存储过程分页

    asp.net安全、实用、简单的大容量存储过程分页

    昨晚研究到2点多,对网络上主流的分页存储过程大体看了一遍,但对安全以及如何使用很多文章都没有过多的提及,而我要在这些文章的基础上总结出一个比较实用的分页存储过程,方便大家在以后的项目中使用。
    2009-06-06
  • asp.net中List的使用方法

    asp.net中List的使用方法

    .net真是方便,这几天帮朋友写了个小软件,用它还真感觉轻松自在,很称手,自带的类库既丰富又实用
    2008-10-10
  • ASP.NET实现图形验证码功能

    ASP.NET实现图形验证码功能

    ASP.NET 实现图形验证码能够增强网站安全性,防止机器人攻击,本文介绍了如何使用 C# 和 ASP.NET 创建一个简单而有效的图形验证码系统,包括生成随机验证码、绘制验证码图像以及将图像输出到客户端等步骤,感兴趣的朋友一起看看吧
    2024-03-03
  • 发布一个基于TokyoTyrant的C#客户端开源项目

    发布一个基于TokyoTyrant的C#客户端开源项目

    目前在网上关于TokyoCabinet(以下简称TC)和TokyoTyrant(以下简称TT)的资料已相对丰富了,但在.NET平台上的客户端软件却相对匮乏,因为做Discuz!NT企业版的关系,两个月前开始接触TC和TT,开始写相关的客户端代码。
    2010-07-07
  • net core日志与异常处理小结

    net core日志与异常处理小结

    asp.net core的webApplicationBuilder中自带了一个日志组件,无需手动注册服务就能直接在控制器中构造注入,这篇文章主要介绍了net core日志与异常处理小结,需要的朋友可以参考下
    2024-07-07
  • WPF框架Prism中使用MVVM架构

    WPF框架Prism中使用MVVM架构

    这篇文章介绍了WPF框架Prism中使用MVVM架构的方式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • ASP.NET Core扩展库之Http日志的使用详解

    ASP.NET Core扩展库之Http日志的使用详解

    这篇文章主要介绍了ASP.NET Core扩展库之Http日志的使用详解,帮助大家更好的理解和学习使用.net技术,感兴趣的朋友可以了解下
    2021-04-04

最新评论