当前位置:编程学习 > C#/ASP.NET >>

DataGridView如何读出当前鼠标选定行的数据!

如题,要代码~~ --------------------编程问答-------------------- --------------------编程问答-------------------- 如果是绑定到BindingSource,那么BindingSource.Current就代表当前项。


你肯定做过通过[数据]菜单-[显示数据源]-[新建数据源]方式拖拽数据库表到Form上生成过DataGridView吧?
就比如你拖的是Northwind数据库的Products表。
那vs2005会自动生成一个productsBindingSource是吧?给界面加个按钮,用如下代码访问当前项的某个字段值。

private void button1_Click(object sender, EventArgs e)
{
      DataRowView drv = productsBindingSource.Current as DataRowView;
      NorthwindDataSet.ProductsRow row = drv.Row as NorthwindDataSet.ProductsRow;
      MessageBox.Show(row.ProductName);
}

.net 2.0开始类似这种操作都是推荐使用BindingSource作为中间层的。 --------------------编程问答-------------------- 我在别的帖子里面有写,你要不看下 用当鼠标的坐标转化为当前的行和列 。你响应在grid_doubleclick 事件里面 用e.x,e.y
--------------------编程问答-------------------- http://topic.csdn.net/u/20071226/16/b6587abe-800f-45b8-8819-c8e5857f421f.html
代码上面有写 自己进去拉。。。貌似最近都是这个问题 。 --------------------编程问答--------------------

Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs) 
 
Dim pt As New Point(e.X, e.Y) 
 
Dim hti As DataGrid.HitTestInfo = Me.HitTest(pt) 
 
If hti.Type = HitTestType.ColumnHeader AndAlso hti.Column = 1 Then 
 
'don't sort col 1 
 
Return 'don't call baseclass 
 
End If 
 
MyBase.OnMouseDown(e) 
 
End Sub
 
 
--------------------编程问答-------------------- DataGridView 应该有个SelectItem 表示当前选定行的属性 --------------------编程问答--------------------

        For i As Long = 1 To DataGridView1.SelectedRows.Count
            For j = 1 To DataGridView1.ColumnCount
                MsgBox(DataGridView1.SelectedRows(i - 1).Cells(j - 1))
                '显示选中的没个单元的数据
            Next
        Next

--------------------编程问答-------------------- 哪有那么复杂模仿这个
Me.DatagridView1.CurrentRow.Cells(0).Value
或者
Me.DatagridView1.CurrentRow.Cells("列名").Value
--------------------编程问答-------------------- row:currentrow
cell:currentcell
补充:.NET技术 ,  VB.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,