为DataGrid添加确认删除的对话框[2]
[入库:2005年8月18日] [更新:2007年3月24日]
在datagrid里添加确认删除的对话框,第二个办法就是利用buttoncolumn,这个办法与第一个方法不同的是:我们不能使用findcontrol方法来引用button控件,这是因为,我们不知道由buttoncolumn产生的每个button控件的id,我们这里可以使用tablecell来引用tablecell里的button控件,一旦引用了button控件,我们就可以用attributes集合来添加onclick事件。源代码如下:
deleteit2.aspx
<%@ page language="vb" autoeventwireup="false" codebehind="deleteit2.aspx.vb"
inherits="aspxweb.deleteit2"%>
deleteit2
deleteit2.aspx.vb
imports system
imports system.web
imports system.data
imports system.data.oledb
imports system.web.ui.webcontrols
public class deleteit2
inherits system.web.ui.page
protected withevents label1 as system.web.ui.webcontrols.label
protected withevents mydatagrid as system.web.ui.webcontrols.datagrid
#region " web 窗体设计器生成的代码 "
'该调用是 web 窗体设计器所必需的。
private sub initializecomponent()
end sub
private sub page_init(byval sender as system.object, byval e as system.eventargs)_
handles mybase.init
'codegen: 此方法调用是 web 窗体设计器所必需的
'不要使用代码编辑器修改它。
initializecomponent()
end sub
#end region
private sub page_load(byval sender as system.object, byval e as system.eventargs)_
handles mybase.load
'在此处放置初始化页的用户代码
mydatagrid.headerstyle.horizontalalign = horizontalalign.center
mydatagrid.headerstyle.font.bold = true
mydatagrid.headerstyle.backcolor = system.drawing.color.ivory
mydatagrid.columns(0).headertext = "操作"
mydatagrid.columns(1).headertext = "标题"
mydatagrid.columns(2).headertext = "创建日期"
if not ispostback then
dim strcn as string = "provider=microsoft.jet.oledb.4.0;data source=" _
+ server.mappath("test.mdb")
dim strsql as string = "select top 15 objectguid,title,createdate"_
+ " from document order by createdate desc"
dim cn as new oledbconnection(strcn)
cn.open()
dim cmd as new oledbcommand(strsql, cn)
mydatagrid.datasource = cmd.executereader(commandbehavior.closeconnection)
mydatagrid.databind()
cmd.dispose()
cmd = nothing
cn.close()
cn.dispose()
cn = nothing
end if
end sub
public sub datagrid_itemcreated(byval sender as object, _
byval e as system.web.ui.webcontrols.datagriditemeventargs) handles mydatagrid.itemcreated
select case e.item.itemtype
case listitemtype.item, listitemtype.alternatingitem, listitemtype.edititem
dim mytablecell as tablecell
mytablecell = e.item.cells(0)
dim mydeletebutton as linkbutton
mydeletebutton = mytablecell.controls(0)
mydeletebutton.attributes.add("onclick", "return confirm('您真的要删除此行吗?');")
mydeletebutton.text = "删除此行"
end select
end sub
sub mydatagrid_delete(byval sender as object, byval e as datagridcommandeventargs)
label1.text = "你要删除的是: " _
+ mydatagrid.datakeys(cint(e.item.itemindex)) + ""
e.item.backcolor = system.drawing.color.tomato
end sub
end class
在datagrid里添加确认删除的对话框,第三个办法就是利用page对象的registeronsubmitstatement方法。page.registeronsubmitstatement方法能够使页面能够访问客户端 onsubmit 事件。脚本应该是注册在其他地方的对客户端代码的函数调用。源代码如下:
deleteit3.aspx
本文关键:为DataGrid添加确认删除的对话框
本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)