1,216
社区成员
发帖
与我相关
我的任务
分享
Dim dtSource As New DataTable
With dtSource.Columns
.Add("col1")
.Add("col2")
.Add("col3")
End With
dtSource.Rows.Add({"r1c1", "r1c2", "r1c3"})
dtSource.Rows.Add({"r2c1", "r2c2", "r2c3"})
dtSource.Rows.Add({"r3c1", "r3c2", "r3c3"})
dtSource.Rows.Add({"r4c1", "r4c2", "r4c3"})
'下面两句等效,Skip方法的参数,表示需要跳过多少条以后,然后在剩下的序列里,Take第1条。
'DataGridView1.DataSource = dtSource.AsEnumerable.Skip(1).Take(1).CopyToDataTable()
DataGridView1.DataSource =
(From r In dtSource Select r).Skip(1).Take(1).CopyToDataTable()
Dim dtSource As New DataTable 'dtSource是需要绑定到datagridview的datatable,作为示例。
With dtSource.Columns '建表结构,填数据
.Add("col1")
.Add("col2")
.Add("col3")
End With
dtSource.Rows.Add({"r1c1", "r1c2", "r1c3"})
dtSource.Rows.Add({"r2c1", "r2c2", "r2c3"})
dtSource.Rows.Add({"r3c1", "r3c2", "r3c3"})
dtSource.Rows.Add({"r4c1", "r4c2", "r4c3"})
'DefaultView是datatable的默认视图,当需要同时展示同一张表的不同
'内容时也可以自己定义几个DataView。
'这个筛选示范的是 应用一个 col1 = "r3c1" 的筛选到DefaultView。
'如果这儿有办法直接按行号筛选,就可以写在这
'dtSource.DefaultView.RowFilter = "col1='r3c1'"
'绑定视图到DataGridView
'DataGridView1.DataSource = dtSource.DefaultView
'如果没找到按行号筛选的办法,可以有两个办法
'办法1,查询的时候,添加上行号(确定好排序规则)
'SQL语句类似于 '
'select *,
'ROW_NUMBER() over (order by 排序字段 asc) as RowNo
'from devices
'别的操作都和上面一样。
'DefaultView.RowFilter = "RowNo = " & 记录行号的变量
'然后绑定
'方法2,正常查询,得到dtSource后,再增加一列,遍历每一行,把行号赋给这一列
dtSource.Columns.Add("RowNo")
Dim rowno As Integer = 0
For Each dr As DataRow In dtSource.Rows
rowno += 1
dr("RowNo") = rowno
Next
dtSource.DefaultView.RowFilter = "RowNo=3"
DataGridView1.DataSource = dtSource.DefaultView