http://expert.csdn.net/Expert/TopicView1.asp?id=1925903

解决方案 »

  1.   

    参考下面这个:http://www.csdn.net/develop/article/17/17840.shtm
      

  2.   

    asp.net的例子GetCurrentClickRow.aspx<%@ Page Language="vb" EnableViewState="False" AutoEventWireup="false" Codebehind="GetCurrentClickRow.aspx.vb" Inherits="aspxWeb.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" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" AutoGenerateColumns="False">
              <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.vbImports System
    Imports System.Data
    Imports System.Data.OleDbPublic Class 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#Region " Web Form Designer Generated Code "
      <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
        InitializeComponent()
      End Sub#End Region  Private 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("aspxWeb.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(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('您点击的是:\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 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 SubEnd Class
      

  3.   

    返回当前选择行:DataGrid1.DataKeys[DataGrid1.SelectedIndex].ToString();
      前提:将绑定表的主键设为DataGrid1 的属性:DataKeyField="id"
    获得某列的数据:DataGrid1.Items[DataGrid1.SelectedIndex].Cells[0].Text
      

  4.   

    DataGrid.CurrentIndex 可以得出当前行的Index
    在绑定的DataTable中DataTable.Rows[Index]当前行
      

  5.   

    难道 dbgrid 没有提供按数据类型的访问方法吗DataGrid1.Items[DataGrid1.SelectedIndex].Cells[0].Text
      

  6.   

    如果是webform那就按楼上各位英雄的。
    如果是winform的话。
    BindingManagerBase bm = this.gridCompete.BindingContext
    [this.gridCompete.DataSource, this.gridCompete.DataMember]; 
    DataRow dr = ((DataRowView)bm.Current).Row;//取当前选中行。
             if (dr["Id"] == ??)//dr["name"],dr["age"]
             {
               MessageBox.Show("选中第几列");
              }
    没有选种任何一条数据?这句话我有疑问?
    如果你没单击那不就是没选中里面的数据吗??
    如果你点了的话。不就选了吗?还要判断做什么?
      

  7.   

    DataGrid1.Items[DataGrid1.SelectedIndex].Cells[0].Text