现在的位置: 首页 > 综合 > 正文

为DataGrid添加确认删除的对话框(2)

2013年02月22日 ⁄ 综合 ⁄ 共 2260字 ⁄ 字号 评论关闭

在DataGrid里添加确认删除的对话框,第二个办法就是利用ButtonColumn,这个办法与第一个方法不同的是:我们不能使用FindControl方法来引用Button控件,这是因为,我们不知道由ButtonColumn产生的每个Button控件的ID,我们这里可以使用TableCell来引用TableCell里的Button控件,一旦引用了Button控件,我们就可以用Attributes集合来添加Onclick事件。源代码如下:

DeleteIt2.aspx

<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">




DeleteIt2.aspx.vb

Imports System<br /> Imports System.Web<br /> Imports System.Data<br /> Imports System.Data.OleDb<br /> Imports System.Web.UI.WebControls</p> <p>Public Class DeleteIt2<br /> Inherits System.Web.UI.Page<br /> Protected WithEvents Label1 As System.Web.UI.WebControls.Label<br /> Protected WithEvents myDataGrid As System.Web.UI.WebControls.DataGrid</p> <p>#Region " Web 窗体设计器生成的代码 "</p> <p> '该调用是 Web 窗体设计器所必需的。<br /> <system.diagnostics.debuggerstepthrough> Private Sub InitializeComponent()</p> <p> End Sub</p> <p> Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs)_<br /> Handles MyBase.Init<br /> 'CODEGEN: 此方法调用是 Web 窗体设计器所必需的<br /> '不要使用代码编辑器修改它。<br /> InitializeComponent()<br /> End Sub</p> <p>#End Region</p> <p> Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)_<br /> Handles MyBase.Load<br /> '在此处放置初始化页的用户代码<br /> myDataGrid.HeaderStyle.HorizontalAlign = HorizontalAlign.Center<br /> myDataGrid.HeaderStyle.Font.Bold = True<br /> myDataGrid.HeaderStyle.BackColor = System.Drawing.Color.Ivory<br /> myDataGrid.Columns(0).HeaderText = "操作"<br /> myDataGrid.Columns(1).HeaderText = "标题"<br /> myDataGrid.Columns(2).HeaderText = "创建日期"</p> <p> If Not IsPostBack Then<br /> Dim strCn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _<br /> + Server.MapPath("Test.mdb")<br /> Dim strSql As String = "SELECT Top 15 objectGuid,Title,CreateDate"_<br /> + " FROM Document Order By CreateDate Desc"<br /> Dim cn As New OleDbConnection(strCn)<br /> cn.Open()<br /> Dim cmd As New OleDbCommand(strSql, cn)</p> <p> myDataGrid.DataSource = cmd.ExecuteReader(CommandBehavior.CloseConnection)<br /> myDataGrid.DataBind()<br /> cmd.Dispose()<br /> cmd = Nothing<br /> cn.Close()<br /> cn.Dispose()<br /> cn = Nothing<br /> End If<br /> End Sub</p> <p> Public Sub DataGrid_ItemCreated(ByVal sender As Object, _<br /> ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles myDataGrid.ItemCreated<br /> Select Case e.Item.ItemType<br /> Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem<br /> Dim myTableCell As TableCell<br /> myTableCell = e.Item.Cells(0)<br /> Dim myDeleteButton As LinkButton<br /> myDeleteButton = myTableCell.Controls(0)<br /> myDeleteButton.Attributes.Add("onclick", "return confirm('您真的要删除此行吗?');")<br /> myDeleteButton.Text = "删除此行"<br /> End Select<br /> End Sub<br /> Sub MyDataGrid_Delete(ByVal Sender As Object, ByVal E As DataGridCommandEventArgs)<br /> Label1.Text = "你要删除的是:<font color="red"> " _<br /> + myDataGrid.DataKeys(CInt(E.Item.ItemIndex)) + "</font>"<br /> E.Item.BackColor = System.Drawing.Color.Tomato<br /> End Sub<br /> End Class<br /> </system.diagnostics.debuggerstepthrough>

抱歉!评论已关闭.