Foxtable(狐表)用户栏目专家坐堂 → 字符型转大写


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

主题:字符型转大写

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107856 积分:548637 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/18 8:34:00 [显示全部帖子]


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107856 积分:548637 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/18 15:02:00 [显示全部帖子]

Dim str As String = "6月"
Output.Show(CLNum(val(str)) & "月")

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107856 积分:548637 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/18 17:06:00 [显示全部帖子]

如果是手工录的,DataColChanging事件

If e.DataCol.Name = "月份" Then 
    If e.NewValue > "" Then 
        e.NewValue = CLNum(val(e.NewValue)) & "月"
    End If
End If

如果是从日期列转换来的,DataColChanged事件

If e.DataCol.Name = "日期" Then 
    If e.DataRow.IsNull("日期") = False Then 
        e.DataRow("月份") = CLNum(e.DataRow("日期").Month) & "月"
    End If
End If

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107856 积分:548637 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/28 8:48:00 [显示全部帖子]

这段代码没有问题,还有没有其它代码?

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107856 积分:548637 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/28 14:11:00 [显示全部帖子]

改到DataColChanging事件

If e.DataCol.Name = "月份" AndAlso e.NewValue > "" Then
    Dim months() As String = {"一","", "", "", "", "", "七", "八", "", "十", "十一", "十二"}
    Dim m As Integer = val(e.NewValue.replace("月", ""))
    If m >= 1 AndAlso m <= 12 Then
        e.NewValue = months(m-1) & "月"
    Else
        e.Cancel = True
    End If
End If

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107856 积分:548637 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/29 20:35:00 [显示全部帖子]

Dim dt As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "姓名" ,"年度"
        If dt.IsNull("姓名") = False AndAlso dt.IsNull("年度") = False
            Dim dr As DataRow = DataTables("工资年度结算").Find("姓名 = '" &  dt("姓名")  & "'And 年度 = '" & dt("年度")) & "'"
            If dr Is Nothing Then
                dr = DataTables("工资年度结算").AddNew()
                dr("姓名") = dt("姓名")
                dr("年度") = dt("年度")
            End If
        End If
End Select

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107856 积分:548637 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/1 14:20:00 [显示全部帖子]

实在不明白转换为大写的月份有啥用。一个表是小写一个表是大写,根本没法比较。

另外也看不懂你的结转逻辑。

 回到顶部