Foxtable(狐表)用户栏目专家坐堂 → [求助]关于数据填充的问题(已解决)


  共有4452人关注过本帖树形打印复制链接

主题:[求助]关于数据填充的问题(已解决)

帅哥哟,离线,有人找我吗?
yyzlxc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]关于数据填充的问题(已解决)  发帖心情 Post By:2013/7/31 13:27:00 [只看该作者]

按组别填充的代码如下:

DataTables("表B").DataRows.Clear  '清除表B
Dim zb As String() = {"1","2","3","4","5"}
For j As Integer = 0 To zb.length -1
    Dim iList As List(of DataRow)= DataTables("表A").Select("组别 = '" & zb(j) & "'")
    If IList IsNot Nothing Then
        For i As Integer = 0 To iList.Count - 1
            Dim dr As DataRow
            If DataTables("表B").DataRows.Count > i Then
                dr = DataTables("表B").DataRows(i)
            Else
                dr = DataTables("表B").AddNew
            End If
            dr("组别_" & zb(j)) = IList(i)("姓名")
        Next
    End If
Next
MainTable= Tables("表B")
Tables("表B").AutoSizeCols()
DataTables("表B").Save()


问题1、如果用GetUniqueValues来获取“表A”组别列的不重复值,以上代码应如何修改?

问题2、填充表C,在填充表B的基础上增加一个条件,将姓名填充在对应组别和工位的单元格,代码应该如何写,请各位老师指教,谢谢!!


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


[此贴子已经被作者于2013-7-31 14:50:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/31 14:35:00 [只看该作者]

第二个需求真够麻烦的,因为不一定是55对应的情况!
总算给你写好了


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table



 回到顶部
帅哥哟,离线,有人找我吗?
yyzlxc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2013/7/31 14:50:00 [只看该作者]

谢谢Bin老师的指教,真不好意思,给老师添麻烦了,所给的代码还需要再消化一下,再次感谢Bin老师的热心帮助!!

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/7/31 15:15:00 [只看该作者]

凑个热闹。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:不重复填充.table


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/7/31 15:24:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4631 积分:33799 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2013/7/31 15:41:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1 (1).zip


俺喜欢用filler,简单好读。

按钮一代码:

DataTables("表B").DataRows.Clear
Dim ss As List(of String) = DataTables("表A").GetUniqueValues("","组别")
Dim f As New Filler
For Each s As String In ss
    f.SourceTable = DataTables("表A")
    f.SourceCols = "姓名"
    f.DataTable = DataTables("表B")
    f.DataCols = "组别_" & s
    f.Filter = "组别='" & s & "'"
    f.Append = False
    f.Fill()
Next
MainTable = Tables("表B")

 

按钮二代码:

DataTables("表C").DataRows.Clear

Dim f As New Filler
f.SourceTable = DataTables("表A")
f.SourceCols = "工位"
f.DataTable = DataTables("表C")
f.DataCols = "工位"
f.Fill()

DataTables("表C").DataCols("工位").RaiseDataColChanged

MainTable = Tables("表C")

 

 

表C“DataColChanged”

If e.DataCol.Name = "工位"
    Dim ss As List(of String) = DataTables("表A").GetUniqueValues("","组别")
    For Each s As String In ss
        Dim dr As DataRow = DataTables("表A").Find("工位='" & e.DataRow("工位") & "' and 组别='" & s & "'")
        If dr IsNot Nothing
            If e.DataRow.IsNull("工位")
                e.DataRow("组别_" & s) = Nothing
            Else
                e.DataRow("组别_" & s) = dr("姓名")
            End If
        End If
    Next
End If

[此贴子已经被作者于2013-7-31 15:42:30编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/7/31 15:56:00 [只看该作者]

以下是引用y2287958在2013-7-31 15:41:00的发言:

 下载信息  [文件大小:75.2 KB  下载次数:0]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1 (1).zip


俺喜欢用filler,简单好读。

不错,一种很好的选项。

 回到顶部