小弟还有一个问题,
我想每次按一下删除按钮(放在datagrid的模板列里),然后弹出messagebox,提示确认删除,然后按确定按钮,则触发我编写的后台代码.
Sub DataGrid_ItemCreated(ByVal Sender As Object, ByVal e As DataGridItemEventArgs) Handles DgComment.ItemCreated
Select Case e.Item.ItemType
Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem
Dim myDeleteButton As Button
myDeleteButton = e.Item.FindControl("BtnDelete")
myDeleteButton.Attributes.Add("onclick", "return confirm('是否确定要删除该评论,对该用户来说将损失其名望值?');")
End Select
End Sub <-- 可以实现的,即每个按钮按下都会弹出,但小弟不知其机理,ItemCreate是什么?还有为什么要加Select case ,e.Item.FindControl("BtnDelete")为什么没有cells,因为我还没有指明第几列?
Sub DataGrid_ItemCommand(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) Handles DgComment.ItemCommand <--按钮按下去之后的后台代码,但它更本不执行!为什么,请高手指教,还有一种方法是在前台(apss
If e.CommandName = "DeleteComment" Then
Dim conn As New Connection.DataBase()
Dim str As String
Dim CommentID As String
CommentID = e.Item.Cells(1).Text.Trim.ToString
str = "DeleteComment '" + CommentID + "'"
conn.NoQuery(str)
conn.Dispose()
Dim record As String
record = "删除文章作者为" + LblAuthor.Text.Trim + ",文章名为" + LblArticleTitle.Text.Trim + "的评论"
RecordAction(Session("Nick"), record)
编写ItemDataBound事件是否是如下所写:?
Public Function DataGrid_ItemDataBound(ByVal sender As Object, ByVal e As DataGridItemEventArgs) Handles DgComment.ItemDataBound
Public Class ShowHideCols
Inherits System.Web.UI.Page
Protected WithEvents btnShow As System.Web.UI.WebControls.Button
Protected WithEvents btnHide As System.Web.UI.WebControls.Button
Protected WithEvents dtgCusts 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
'在此处放置初始化页的用户代码
btnShow.Text = "显示列"
btnHide.Text = "隐藏列"
dtgCusts.Columns(1).HeaderText = ""
dtgCusts.Columns(0).HeaderText = "标题"
dtgCusts.Columns(2).HeaderText = "发布日期"
dtgCusts.Columns(3).HeaderText = "编辑"
If Not IsPostBack Then
BindTheData()
End If
End Sub
Sub BindTheData()
Dim objConn As OleDbConnection
Dim objCmd As OleDbCommand
objConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
+ Server.MapPath("Test.mdb"))
Dim strSql As String
strSql = "SELECT Top 10 id,Title,CreateDate FROM Document"
objCmd = New OleDbCommand(strSql, objConn)
objConn.Open()
dtgCusts.DataSource = objCmd.ExecuteReader()
dtgCusts.DataBind()
objConn.Close()
objConn.Dispose()
End Sub
Sub ShowDetails(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim intCounter As Integer
For intCounter = 1 To dtgCusts.Columns.Count - 1
dtgCusts.Columns(intCounter).Visible = True
Next
End Sub
Sub HideDetails(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim intCounter As Integer
For intCounter = 1 To dtgCusts.Columns.Count - 1
dtgCusts.Columns(intCounter).Visible = False
Next
End Sub