以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何填充筛选结果 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=16975) |
-- 作者:Ipad3 -- 发布时间:2012/2/29 10:24:00 -- [求助]如何填充筛选结果 我在同一个表中录入数据,因为每天的行比较多,而且每周同一个日子记录差别不大,所以通过筛选某天的记录,然后批量复制,比如我筛选出上周一的记录,然后本周一自动复制其中的几列,再自动填充日期,这样就减轻的工作量。 原来的思路是增加了一个“选中”列,然后筛选以后将选中列自动打勾,再复制打勾行的部分列,但是实际使用中,发现如果我筛选出的部分行已经通过审核被锁定,就无法再打勾,权限上又不允许录入人员解锁,导致不能完全按要求复制,下面的代码中,怎么样才能成为填充可见行
Dim Cols1() As String = {"姓名","班次","岗位"}
怎么样将黄色部分改成选择可见行 |
-- 作者:狐狸爸爸 -- 发布时间:2012/2/29 10:28:00 -- Dim Cols1() As String = {"姓名","班次","岗位"}
建议看看: http://www.foxtable.com/help/topics/0363.htm http://www.foxtable.com/help/topics/1467.htm
|
-- 作者:Ipad3 -- 发布时间:2012/2/29 15:14:00 -- 以下是引用狐狸爸爸在2012-2-29 10:28:00的发言:
Dim Cols1() As String = {"姓名","班次","岗位"} 这段代码执行的结果是系统崩溃,我是在同一个表中复制,测试时我先筛选出了2条记录,结果自动复制了一分多种,几万条记录还在复制,只好直接结束进程 |
-- 作者:狐狸爸爸 -- 发布时间:2012/2/29 15:32:00 -- Dim Cols1() As String = {"姓名","班次","岗位"} Dim Cols2() As String = {"姓名","班次","岗位"} Dim cnt As Integer = DataTables("表A").DataRows.Count For i As Integer = 0 To cnt -1 Dim dr1 As DataRow = DataTables("表A").DataRows(i) Dim dr2 As DataRow = DataTables("表A").AddNew() For m As Integer = 0 To Cols1.Length -1 dr2(Cols2(m)) = dr1(Cols1(m)) Next Next |
-- 作者:Ipad3 -- 发布时间:2012/2/29 15:43:00 -- 以下是引用狐狸爸爸在2012-2-29 15:32:00的发言:
Dim Cols1() As String = {"姓名","班次","岗位"} Dim Cols2() As String = {"姓名","班次","岗位"} Dim cnt As Integer = DataTables("表A").DataRows.Count For i As Integer = 0 To cnt -1 Dim dr1 As DataRow = DataTables("表A").DataRows(i) Dim dr2 As DataRow = DataTables("表A").AddNew() For m As Integer = 0 To Cols1.Length -1 dr2(Cols2(m)) = dr1(Cols1(m)) Next Next
结果还是如此,还是会复制所有行,包括隐藏行
Dim cnt As Integer = Tables("表A").Rows.Count
这样可以了 [此贴子已经被作者于2012-2-29 15:48:26编辑过]
|
-- 作者:Ipad3 -- 发布时间:2012/2/29 15:57:00 -- 感谢狐爸帮助! |