当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 在asp.net中实现datagrid checkbox 全选的方法

ASP.NET
ASP.NET应用程序设计的10大技巧
asp.net开发与web标准的冲突问题
总结:ADO.NET中容易混淆的概念
ASP.NET数据库编程入门
ASP.Net网络数据库:连接到数据库
ASP.Net之C#中的异常处理
在C++中使用Lambda函数提高代码性能
从零开始学习jQuery (一) 开天辟地入门篇
.Net中的 XmlReader 与 XmlWriter 解析
ASP.NET安全问题--创建安全的Web应用程序
从零开始学习jQuery (二) 万能的选择器
ASP.NET开发必须养成的编程习惯
ASP.NET应用XML技术实现Web报表打印
ASP.NET实现静态的TreeView控件导航
数据结构与算法:C#语言描述 目录
ASP.NET创建XML Web服务全接触
使.NET命名空间符合标准
ASP.Net获得新浪天气预报几种方式总结
.Net技术开发中两个“属性”引起的歧异
.Net课堂:ASP.NET常用的优化性能方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 235 ::
收藏到网摘: n/a

复制代码 代码如下:
<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>