Foxtable(狐表)用户栏目专家坐堂 → 如何直接实现下列设计?


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

主题:如何直接实现下列设计?

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/24 14:01:00 [只看该作者]

顺便请教一下老师:DataTables("课时名单").DeleteFor("[姓名] Is Null") 这句语句显得不太友好----填充后强行删除,请问:如何才能实现排除空值再填充?

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/24 14:19:00 [只看该作者]

填充时设置Filter条件即可。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/24 14:23:00 [只看该作者]

你的列名称怎么可以用“第四轮_周日下午_6-1”这样的方式。
导入数据后请及时修改列名称,否则会给以后的工作带来麻烦的。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/24 14:24:00 [只看该作者]

因你的列名称不规范,所以下面的Filter条件只能这样设置,否则出错:

Dim s As Date = Date.Now()
Dim ksmd As New DataTableBuilder("课时名单")
ksmd.AddDef("姓名", GetType(String), 15)
ksmd.AddDef("性质", GetType(String), 15)
ksmd.AddDef("星期", GetType(String), 15)
ksmd.AddDef("计分", GetType(Integer))
ksmd.Build()
'生成"课时名单"数据
Dim Values() As String
Dim n As Integer = Tables("补课").rows.count
Dim n1 As Integer
for Each dc as Datacol in DataTables("补课").Datacols
    Dim T As Table = Tables("课时名单")
    if dc.name <> "班级" Then
        n1 = n1 +1
        dim f As New Filler
        f.SourceTable = DataTables("补课") '指定数据来源
        f.SourceCols = dc.name '指定数据来源列
        f.DataTable = DataTables("课时名单") '指定数据接收表
        f.DataCols = "姓名" '指定数据接收列
        f.ExcludeNullValue=true
        f.Filter = "[" & dc.name & "] Is Not Null"
        f.Distinct = false
        f.Fill() '填充数据
        Values = dc.name.split("_")
        For i As integer = (n*n1)-n to T.rows.count -1
            T.Rows(i)("星期") = Values(0)
            Select Case Values(1)
                Case "周六下午","周日下午"
                    Values(1) = "补课"
                Case "周六晚上"
                    Values(1) = "辅导"
                Case "周日上午"
                    Values(1) = "守班"
            End Select
            T.Rows(i)("性质") = Values(1)
            T.Rows(i)("计分") = 1
        Next
    end if
Next
Messagebox.Show("处理完毕! 耗时: " & (Date.Now -s).TotalSeconds)

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/24 14:26:00 [只看该作者]

因为设置了Filter条件,楼上这行代码可以删除:f.ExcludeNullValue=true


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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/24 15:25:00 [只看该作者]

谢谢指点!

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/24 16:51:00 [只看该作者]

以下是引用czy在2009-12-24 14:23:00的发言:
你的列名称怎么可以用“第四轮_周日下午_6-1”这样的方式。
导入数据后请及时修改列名称,否则会给以后的工作带来麻烦的。

谢谢!这只是当时为方便说明代码临时使用的一个文件,现设计已改过来了。


 回到顶部
总数 17 上一页 1 2