vb.net数据行位置 vbnet progressbar

如何实现VB.NET实现代码在datagridview选中行,并在datagridview显示区域居中非常简单
一:如果知道要选中的行号
datagridview1.Rows(行号).Selected
=
True
datagridview1.FirstDisplayedScrollingRowIndex
=
行号
第一行是选中行号所在的行,第二行是移动滚动条将选中的行在显示区域的最上放显示出来 。
二:根据内容选中行并显示
For
i
=
To
datagridview1.Rows.Count
-
1
If
datagridview1.Rows(i).Cells("列的名称").Value
=
要选中行列的值
Then
datagridview1.Rows(i).Selected
=
True
datagridview1.FirstDisplayedScrollingRowIndex
=
i
End
If
Next
而且,如果你不想选中的行显示到最上面,可以这样:
For
i
=
To
datagridview1.Rows.Count
-
1
If
datagridview1.Rows(i).Cells("列的名称").Value
=
要选中行列的值
Then
datagridview1.Rows(i).Selected
=
True
Dim
indeI
As
Integer
=
i
-
15
If
indeI
1
Then
indeI
=
1
datagridview1.FirstDisplayedScrollingRowIndex
=
indeI
End
If
Next
上面的代码是根据某列的值选中行 , 并且移动滚动条将选中的行在显示区域的第15行显示 。
使用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
【vb.net数据行位置 vbnet progressbar】 在这种情况下 代码使用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中这是经常的 有了上面的例子后 大多数有经验的开发者迅速跟上了这种技术

推荐阅读