为DataGrid添加确认删除的对话框[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 littlehb 的 blog

在删除数据前进行确认是一个非常友好的做法。在本文里,我们就讨论利用templatecolumn和button服务端控件实现这种功能的方法。

deleteit.aspx

<%@ page language="vb" autoeventwireup="false" codebehind="deleteit.aspx.vb" inherits="aspxweb.deleteit"%> <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <title>webform1</title> <meta content="microsoft visual studio .net 7.0" name="generator"> <meta content="visual basic 7.0" name="code_language"> <meta content="javascript" name="vs_defaultclientscript"> <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetschema"> </head> <body> <asp:label id="label1" runat="server"></asp:label> <form runat="server" id="form1"> <asp:datagrid id="mydatagrid" onitemcreated="datagrid_itemcreated" datakeyfield="title" autogeneratecolumns="false" runat="server"> <columns> <asp:templatecolumn> <itemtemplate> <asp:button id="btndelete" runat="server"></asp:button> </itemtemplate> </asp:templatecolumn> <asp:boundcolumn datafield="title"></asp:boundcolumn> <asp:boundcolumn datafield="createdate" dataformatstring="{0:yyyy-m-d}"></asp:boundcolumn> </columns> </asp:datagrid> </form> </body> </html>

后代码:deleteit.aspx.vb

imports system.web imports system.collections imports system imports system.data imports system.data.oledb imports system.web.ui.webcontrols public class deleteit 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 窗体设计器所必需的。 <system.diagnostics.debuggerstepthrough()> 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 sub page_load(byval sender as object, byval e as eventargs) handles mybase.load mydatagrid.headerstyle.font.bold = true mydatagrid.headerstyle.horizontalalign = horizontalalign.center 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 strsql = "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 sub datagrid_itemcreated(byval sender as object, byval e as datagriditemeventargs)_ handles mydatagrid.itemcreated select case e.item.itemtype case listitemtype.item, listitemtype.alternatingitem, listitemtype.edititem dim mydeletebutton as button mydeletebutton = e.item.findcontrol("btndelete") mydeletebutton.text = "删除此行" mydeletebutton.attributes.add("onclick", "return confirm('您真的要删除第 "_ + e.item.itemindex.tostring + " 行吗?');") end select end sub private sub mydatagrid_itemcommand(byval source as object, _ byval e as system.web.ui.webcontrols.datagridcommandeventargs)_ handles mydatagrid.itemcommand response.write("您要删除的是:<font color=red>" + e.item.cells(1).text + "</font>") e.item.backcolor = system.drawing.color.ivory end sub end class

本文关键:为DataGrid添加确认删除的对话框
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top