Foxtable(狐表)用户栏目专家坐堂 → [求助]默认值设置


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

主题:[求助]默认值设置

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
[求助]默认值设置  发帖心情 Post By:2017/5/12 10:25:00 [只看该作者]

表中有一字段问标准天数,我现在需要奖标准天数这一字段设置成默认值,计算当月有多少天,该如何设置,求大神
Dim Days As Integer
Dim d1 As Date = Date.Today
Dim year As Integer = d1.Year
Dim month As Integer = d1.Month
Days = Date.DaysInMonth(year,d1.Month)
Output.Show(Days)
这种方法不行!

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/12 10:27:00 [只看该作者]

DataRowadded事件写代码

 

Dim Days As Integer
Dim d1 As Date = Date.Today
Dim year As Integer = d1.Year
Dim month As Integer = d1.Month
Days = Date.DaysInMonth(year,d1.Month)
e.datarow("标准天数") = Days

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/5/12 11:13:00 [只看该作者]

这种方法被否决了,现在的要求是这样的,有两个字段:核审月份与标准天数,审核月份的格式是201703,现在需要根据201703来计算2017年3月分有多少天

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/12 11:25:00 [只看该作者]

DataColChanged事件

 

If e.DataCol.name = "审核月份" Then
    If e.NewValue = Nothing OrElse e.newvalue.length <> 6 Then
        e.DataRow("标准天数") = Nothing
    Else       
        Dim year As Integer = e.newvalue.Substring(0,4)
        Dim month As Integer = e.newvalue.Substring(4,2)
        Dim Days = Date.DaysInMonth(year,Month)
        e.DataRow("标准天数") = Days
    End If
End If

[此贴子已经被作者于2017/5/12 11:53:19编辑过]

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/5/12 11:39:00 [只看该作者]

感谢老师,这是我想的方法
Dim s As String = "201703"
Dim Days As Integer
Dim year As Integer = s.SubString(0,4) '获得左边4个字符:2017
Dim month As Integer = s.SubString(s.Length - 2) '获得右边2个字符:03
Dim day As Integer = s.SubString(2,4) '获得从第3个字符开始的4个字符
Days = Date.DaysInMonth(year,month)
output.show(Days)

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/5/12 11:41:00 [只看该作者]

老师的逻辑性更强

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/5/12 11:50:00 [只看该作者]

老师忘记定义days了
If e.DataCol.name = "核算月份" Then
    If e.NewValue = Nothing OrElse e.newvalue.length <> 6 Then
        e.DataRow("标准天数") = Nothing
    Else 
        Dim Days As Integer       
        Dim year As Integer = e.newvalue.Substring(0,4)
        Dim month As Integer = e.newvalue.Substring(4,2)
        Days = Date.DaysInMonth(year,Month)
        e.DataRow("标准天数") = Days
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/12 11:53:00 [只看该作者]

 

If e.DataCol.name = "审核月份" Then
    If e.NewValue = Nothing OrElse e.newvalue.length <> 6 Then
        e.DataRow("标准天数") = Nothing
    Else       
        Dim year As Integer = e.newvalue.Substring(0,4)
        Dim month As Integer = e.newvalue.Substring(4,2)
        Dim Days = Date.DaysInMonth(year,Month)
        e.DataRow("标准天数") = Days
    End If
End If


 回到顶部