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

来源:互联网 发布:智能网络电视机 编辑:程序博客网 时间:2024/06/05 20:04

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

 

原创粉丝点击