我爱Aspx >> VB.Net >> vb.net如何得到DataGrid中点击的当前行?下面的代码实现了如何得到点击的当前行的数据
GetCurrentClickRow.aspx

<%...@ Page Language="vb" EnableViewState="False" AutoEventWireup="false"
Codebehind="GetCurrentClickRow.aspx.vb" Inherits="aspxWeb.mengxianhui.com.GetCurrentClickRow"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>GetCurrentClickRow</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 style="FONT-SIZE: 9pt" MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Panel id="Panel1" runat="server">
<asp:Label id="label1" Runat="server"></asp:Label>
<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" CellPadding="4"
BackColor="White" BorderWidth="1px" BorderStyle="None" BorderColor="#CC9966">
<ItemStyle ForeColor="#330099" BackColor="White" Font-Size="9pt"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000" Font-Size="9pt"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="Title"></asp:BoundColumn>
<asp:BoundColumn DataField="CreateDate"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
</asp:Panel>
</form>
</body>
</HTML>
GetCurrentClickRow.aspx.vb
Imports System
Imports System.Data
Imports System.Data.OleDb

Public Class GetCurrentClickRowClass GetCurrentClickRow
Inherits System.Web.UI.Page
Protected WithEvents Panel1 As System.Web.UI.WebControls.Panel
Protected WithEvents label1 As System.Web.UI.WebControls.Label
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid

Web Form Designer Generated Code#Region " Web Form Designer Generated Code "
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
End Sub

Private Sub Page_Init()Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Init
InitializeComponent()
End Sub
#End Region

Private Sub Page_Load()Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
label1.Text = "获得所点击行的例子"
label1.Font.Bold = True
Panel1.HorizontalAlign = HorizontalAlign.Center
DataGrid1.Columns(0).HeaderText = "文章标题"
DataGrid1.Columns(1).HeaderText = "发布时间"
DataGrid1.HeaderStyle.HorizontalAlign = HorizontalAlign.Center
DataGrid1.AlternatingItemStyle.BackColor = System.Drawing.Color.Ivory
DataGrid1.HorizontalAlign = HorizontalAlign.Center
Dim cnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
+ Server.MapPath("Test.mdb")
Dim cn As New OleDbConnection(cnString)
cn.Open()
Dim strSQL As String = "SELECT TOP 10 Title,CreateDate FROM Document ORDER BY CreateDate DESC"
Dim cmd As New OleDbCommand(strSQL, cn)
DataGrid1.DataSource = cmd.ExecuteReader
DataGrid1.DataBind()
cn.Close()
cn.Dispose()
cn = Nothing
End Sub

Private Sub DataGrid1_ItemDataBound()Sub DataGrid1_ItemDataBound(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
e.Item.Attributes.Add("onclick", "this.style.backgroundColor='#FFCC66';alert('您点击的是: 第" _
+ e.Item.ItemIndex.ToString() + "行 文章标题是:" + e.Item.Cells(0).Text.Replace(",", "'") + "')")
e.Item.Cells(1).Text = Format(System.Convert.ToDateTime(e.Item.Cells(1).Text.ToString()), "yyyy年M月d日")
If e.Item.Cells(0).Text.Length > 30 Then
e.Item.Attributes.Add("Title", e.Item.Cells(0).Text)
e.Item.Cells(0).Text = e.Item.Cells(0).Text.Substring(0, 28) + "…"
End If
End If
End Sub
End Class
vb.net创建跨多列、多行表头的Da..[09-26]
用C#写的字符串截取函数[09-26]
C# 泛型简介[09-26]
C#发送Email邮件方法总结[09-26]
C#语言中的字符串数组赋初值[09-26]
用C#实现一种超酷的任务栏滑出式..[09-26]
.net页面间的参数传递简单实例[09-26]
Asp.Net Pager分页控件[09-26]
在asp.net中做视频转换,将各种视..[09-26]
在ASP.NET中调用存储过程方法新解[09-25]