Foxtable(狐表)用户栏目专家坐堂 → 人事系统关于跨表选取的代码求助,请高人解答。


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

主题:人事系统关于跨表选取的代码求助,请高人解答。

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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/18 14:19:00 [显示全部帖子]

1、你可以做个按钮,单击这个按钮,自动增加所有员工,并填入部门、职务、姓名等列的内容,按钮代码为:

 

DataTables("工资表").DataRows.Clear()
Dim f As new Filler
f.SourceTable = DataTables("登记表")
f.DataTable = DataTables("工资表")
f.DataCols = "职务,姓名,部门"
f.Fill

 

2、很简单,设置等级表的DataColChanged事件:

 

Select Case e.DataCol.Name
    Case "离职"
        If e.DataRow("离职") = True Then
            Dim dr1 As DataRow = e.DataRow
            Dim dr2 As DataRow = DataTables("离职表").AddNew()
            For Each dc As DataCol In e.DataTable.DataCols
                If DataTables("离职表").DataCols.Contains(dc.name) Then
                    dr2(dc.name) = dr1(dc.name)
                End If
            Next

            dr1.Delete
        End If
End Select

 

3、也简单,做个按钮,将上个月的所有行“克隆”一下即可。

 

4、同步增加行,也很简单,将登记表的BeforeSaveDataRow事件代码设置为:

 

If e.DataRow.RowState = DataRowState.Added Then
    Dim dr1 As DataRow = e.DataRow
    Dim dr2 As DataRow = DataTables("劳动合同").AddNew()
    For Each dc As DataCol In e.DataTable.DataCols
        If DataTables("劳动合同").DataCols.Contains(dc.name) Then
            dr2(dc.name) = dr1(dc.name)
        End If
    Next
End If

 

5、至于日期计算,续签期限应该改为数值型,1表示1年,1.5表示一年半。

 

最后的建议,提问应该一个一个问题来,不要一次一大堆,解决一个,学习一个,尝试下一个,解决不了,再上论坛提问。

毕竟是你在开发系统。

 

 

 


 回到顶部