如何得到DataGrid中点击的当前行?

来源:互联网 发布:惊艳的句子知乎 编辑:程序博客网 时间:2024/05/01 23:29

下面的代码实现了如何得到点击的当前行的数据

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 SystemImports System.DataImports System.Data.OleDbPublic Class GetCurrentClickRowInherits System.Web.UI.PageProtected WithEvents Panel1 As System.Web.UI.WebControls.PanelProtected WithEvents label1 As System.Web.UI.WebControls.LabelProtected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid#Region " Web Form Designer Generated Code "<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()End SubPrivate Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _Handles MyBase.InitInitializeComponent()End Sub#End RegionPrivate Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _Handles MyBase.Loadlabel1.Text = "获得所点击行的例子"label1.Font.Bold = TruePanel1.HorizontalAlign = HorizontalAlign.CenterDataGrid1.Columns(0).HeaderText = "文章标题"DataGrid1.Columns(1).HeaderText = "发布时间"DataGrid1.HeaderStyle.HorizontalAlign = HorizontalAlign.CenterDataGrid1.AlternatingItemStyle.BackColor = System.Drawing.Color.IvoryDataGrid1.HorizontalAlign = HorizontalAlign.CenterDim 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.ExecuteReaderDataGrid1.DataBind()cn.Close()cn.Dispose()cn = NothingEnd SubPrivate Sub DataGrid1_ItemDataBound(ByVal sender As Object, _ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBoundIf e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Thene.Item.Attributes.Add("onclick", "this.style.backgroundColor='#FFCC66';alert('您点击的是:/n/n第" _+ e.Item.ItemIndex.ToString() + "行/n/n文章标题是:" + 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 Thene.Item.Attributes.Add("Title", e.Item.Cells(0).Text)e.Item.Cells(0).Text = e.Item.Cells(0).Text.Substring(0, 28) + "…"End IfEnd IfEnd SubEnd Class
原创粉丝点击