中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > .NET > ASP.NET
为DataGrid添加确认删除的对话框(2)
作者:未知 时间:2003-06-06 12:12 出处:互联网 责编:chinaitpower
              摘要:暂无

在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"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title>DeleteIt2</title> <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0"> <meta name="CODE_LANGUAGE" content="Visual Basic 7.0"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <asp:Label id="Label1" runat="server"></asp:Label> <asp:DataGrid id="myDataGrid" OnItemCreated="DataGrid_ItemCreated" runat="server" OnDeleteCommand="MyDataGrid_Delete" DataKeyField="Title" AutoGenerateColumns="False"> <Columns> <asp:ButtonColumn CommandName="Delete" /> <asp:TemplateColumn> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>' /> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem,_ "CreateDate","{0:yyyy-M-d}") %>' /> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> </form> </body> </HTML>

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 窗体设计器所必需的。 <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 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 = "你要删除的是:<font color=red> " _ + myDataGrid.DataKeys(CInt(E.Item.ItemIndex)) + "</font>" E.Item.BackColor = System.Drawing.Color.Tomato End Sub End Class
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有