vb.net选择的行数据 excel vba 选择行
VB.net中DataGridView中行的选择
仿造我的例子,你自己做做看1)设计一个类似的界面(我只有两个字段) 2)单击GridView的右上角小箭头,去掉逗允许编辑地(黑色框部分): 3)然后把GridView的属性做如下改动: 4)在Form1中增加绑定数据的代码(我是模拟的)Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '动态增加一个表格,绑定到GridView上
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的昌吉网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
Dim dt As New DataTable
dt.Columns.Add("Id", GetType(Integer))
dt.Columns.Add("name", GetType(String))
dt.Columns(0).AutoIncrement = True
dt.Columns(0).AutoIncrementSeed = 1
dt.Columns(0).AutoIncrementStep = 1 '模拟数据库数据
Dim row As DataRow For i As Integer = 1 To 10
row = dt.NewRow
row("name") = "name" i
dt.Rows.Add(row)
Next
dt.AcceptChanges() DataGridView1.DataSource = dt End Sub 5)然后使用SelectionChanged事件这样编码:Private Sub DataGridView1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
If (DataGridView1.SelectedRows IsNot Nothing AndAlso DataGridView1.SelectedRows.Count 0) Then
'只选择单行,因此取第一行
txtId.Text = DataGridView1.SelectedRows(0).Cells(0).Value
txtName.Text = DataGridView1.SelectedRows(0).Cells(1).Value
End If
End Sub
VB.net中 datagridview控件如何读取框选区域内的行数和区域内的数据总和
在窗体上加上三个标签控件:Label1、Label2、Label3
Private Sub DataGridView1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseUp
Dim counter As Integer
Dim SelectedCellTotal As Integer = 0
Dim SelectedCellCount As Integer = 0
For counter = 0 To (DataGridView1.SelectedCells.Count - 1)
If DataGridView1.SelectedCells(counter).FormattedValueType Is _
Type.GetType("System.String") Then
Dim value As String = Nothing
If (DataGridView1.IsCurrentCellDirty = True) Then
value = DataGridView1.SelectedCells(counter).EditedFormattedValue.ToString()
Else
value = DataGridView1.SelectedCells(counter).FormattedValue.ToString()
End If
If value IsNot Nothing Then
If Not value.Length = 0 Then
SelectedCellTotal = SelectedCellTotal + Integer.Parse(value)
SelectedCellCount = SelectedCellCount + 1
End If
End If
End If
Next
Label1.Text = "选中的单元格个数为: " SelectedCellCount.ToString()
Label2.Text = "单元格里数据之和为: " SelectedCellTotal.ToString()
Label3.Text = "选中的单元格行数为:" DataGridView1.SelectedRows.Count.ToString()
End Sub
使用VB.NET的五个技巧之处理数据行
处理数据行(DataRow)
Windows窗体中的数据绑定列表框和组合框很节省时间 典型的代码如下(假定已经建立了SqlDataAdapter或者其它部件获取数据)
Dim ds As New DataSet() SqlDataAdapter Fill(ds Customers ) ListBox DataSource = ds Tables( Customers ) ListBox DisplayMember = CompanyName ListBox ValueMember = CustomerID
在这种情况下 代码使用Northwind数据库的顾客记录工作 DisplayMember属性设置为你希望用户在列表框中看到的记录字段 它是customers表的CompanyName 通常ValueMember属性设置为数据表中的一个键字段 对于customer来说是CustomerID 一旦用户选择了列表框中的一行 很容易使用列表框的SelectedValue属性获得键字段
MsgBox(ListBox SelectedValue)
但是有可能需要一个与被选择项相关的整个数据行对象的引用 例如 如果被选择的行需要被删除 就不知道键了 你需要一个数据行的引用以使用Delete方法
典型的Visual Basic开发者通常这样想 我已经得到了该行的键了 我将编写一些逻辑来查找使用该键的行 这样可以实现 但是有更好的实现方法 可以使用一行代码获取与列表框中选项关联的数据行
Dim dr As DataRow = CType(ListBox SelectedItem DataRowView) Row
通常该逻辑不会凭直觉出现 即使对经验丰富的开发者 为了解释这是怎样实现的 我把上面的一行拆成几行 下面的代码与上面代码的功能相同
Dim drv As DataRowView drv = CType(ListBox SelectedItem DataRowView) Dim dr As DataRow dr = drv Row
DataRowView类是数据行的包装 它被多个Windows窗体控件使用 它使得显示与控件中的数据行相关的数据更加容易 当列表框被数据绑定到数据表时(假定列表框中的有些行当前被选定了) 列表框的SelectedItem属性保存了一个DataRowView对象
这意味着我们能把列表框的SelectedItem属性转换到DataRowView对象 这就是上面代码中的第二行实现的 接着DataRowView暴露一个Row属性 它指向被包装的数据行 上面的代码声明了一个数据行并设置了Row属性
转换对象的类型以访问它的接口的技术在Visual Basic 中不是经常使用 但是在Visual Basic NET中这是经常的 有了上面的例子后 大多数有经验的开发者迅速跟上了这种技术
数据行的引用(dr)可用于用任何方式维护行 访问数据行中的任何特定字段是可行的 行中的数据可以被改变 能使数据行的Delete方法把该行标识为删除 或者从数据表的行集合中删除该行 下面的代码标识删除了一行
dr Delete()
lishixinzhi/Article/program/net/201311/12974
本文题目:vb.net选择的行数据 excel vba 选择行
文章链接:http://cdiso.cn/article/dopohsc.html