Foxtable(狐表)用户栏目专家坐堂 → 求助,如何生成考核表


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

主题:求助,如何生成考核表

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/17 16:39:00 [只看该作者]

以下是引用34772849在2014-9-17 16:37:00的发言:

怎么所有数据都在一格里啊?

 

 你是不会调用?

 

 请先读懂代码,不会做,就上传例子,贴出代码。


 回到顶部
美女呀,离线,留言给我吧!
34772849
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:69 积分:752 威望:0 精华:0 注册:2012/2/6 19:10:00
  发帖心情 Post By:2014/9/18 17:24:00 [只看该作者]

代码如下:生成的巡视全部在一格内,请问应该怎么改?

'''...
Dim doc As New PrintDoc  '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中

rt.Style.GridLines.All = New prt.Linedef
rt.CellStyle.Spacing.All = 1
rt.RepeatGridLinesVert = True
rt.Cells(0,0).text = "安全科月度安全生产责任制考核表"
rt.Cells(0,0).SpanCols = 11
rt.Cells(0,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Cells(0,0).Style.Font = New Font("黑体", 18, FontStyle.Bold)
rt.Rows(0).Style.Borders.All = New prt.LineDef("0mm", Color.white)
rt.Cells(1,0).text = "姓名:窦东东"
rt.Cells(1,0).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,3).text = "职务:科长" '通过左边空格数量来调整副标题位置
rt.Cells(1,3).SpanCols = 2 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,5).text = "包保单位:晋北货运、晋北运转、晋北装卸、东元庆车站" '通过左边空格数量来调整副标题位置
rt.Cells(1,5).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,8).text =  Format(Date.Today(), "yyyy年MM月dd日")
rt.Cells(1,8).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,3).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,5).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,8).Style.TextAlignHorz = prt.AlignHorzEnum.right
rt.cells(1,0).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,3).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,5).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,8).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,0).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,3).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,5).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,8).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.Cells(1,0).Style.Font = New Font("宋体", 12)
rt.Cells(1,3).Style.Font = New Font("宋体", 12)
rt.Cells(1,5).Style.Font = New Font("宋体", 12)
rt.Cells(1,8).Style.Font = New Font("宋体", 12)
rt.Rows(1).Height = 8 '设置第二行的高度,拉开和表格主体的距离.
'设置列标题
rt.Cols(0).Width = 15
rt.Cols(1).Width = 15
rt.Cols(2).Width = 15
rt.Cols(8).Width = 30
rt.Cols(9).Width = 15
Doc.PageSetting.LeftMargin = 20 '设置左边距
Doc.PageSetting.RightMargin = 20 '设置右边距
Doc.PageSetting.TopMargin = 20 '设置上边距
Doc.PageSetting.BottomMargin = 20 '设置下边距
rt.cells(2,2).SpanCols = 6
rt.cells(2,0).Text = "考核项目"  '设置第一行第一个单元格的内容
rt.Cells(2,1).Text = "序号"  '设置第一行第四个单元格的内容
rt.Cells(2,2).Text= "量化考核内容"
rt.Cells(2,8).Text = "扣分标准"
rt.Cells(2,9).Text = "完成情况"
rt.cells(2,9).SpanCols = 2
rt.cells(3,9).SpanCols = 2
rt.cells(4,9).SpanCols = 2
rt.cells(5,9).SpanCols = 2
rt.cells(6,9).SpanCols = 2
rt.cells(7,9).SpanCols = 2
rt.cells(8,9).SpanCols = 2
rt.cells(9,9).SpanCols = 2
rt.cells(10,9).SpanCols = 2
rt.cells(11,9).SpanCols = 2
rt.cells(12,9).SpanCols = 2
rt.cells(13,9).SpanCols = 2
rt.cells(14,9).SpanCols = 2
rt.cells(15,9).SpanCols = 2
rt.cells(16,9).SpanCols = 2
rt.cells(17,9).SpanCols = 2
rt.cells(18,9).SpanCols = 2
rt.cells(19,9).SpanCols = 2
rt.cells(20,9).SpanCols = 2
rt.cells(21,9).SpanCols = 2
rt.cells(22,9).SpanCols = 2
rt.cells(23,9).SpanCols = 2
rt.Cells(3,0).SpanRows = 16 '第1行第5个单元格向下合并6行
rt.Cells(3,0).Text= "履行职责"
rt.Cells(3,1).Text = "1"
rt.cells(3,2).SpanCols = 6
rt.Cells(3,2).Text = "日常要深入车间(中间站),加强对职工的业务指导,解决生产中的技术难题 ,提高全站安全管理水平。每2月对管内各站、车间覆盖检查一遍,南三小站每月最少到1站。"
rt.Cells(3,8).Text = "未落实扣5分"
rt.Cells(4,1).Text = "2"
rt.cells(4,2).SpanCols = 6
rt.Cells(4,2).Text = "每月下现场,对行车主要岗位巡视检查不得少于13天,其中:"
rt.Cells(4,8).Text = "每少1天扣5分"
rt.Cells(5,1).Text = "3"
rt.cells(5,2).SpanCols = 6
rt.Cells(5,2).Text = "前夜巡视不少于2天;"
rt.Cells(5,8).Text = "每少1天扣5分"
rt.Cells(6,1).Text = "4"
rt.cells(6,2).SpanCols = 6
rt.Cells(6,2).Text = "后半夜巡视不少于6天(0至2点、2至4点、4至6点各不少于2次);"
rt.Cells(6,8).Text = "每少1天扣5分"
rt.Cells(7,1).Text = "5"
rt.cells(7,2).SpanCols = 6
rt.Cells(7,2).Text = "每月到包保单位不少于4天(其中星期五、双休日不少于2天,);节假日到包 保单位,小长假不少于1天,大长假不少于2天。"
rt.Cells(7,8).Text = "每少1天扣5分"
rt.Cells(8,1).Text = "6"
rt.cells(8,2).SpanCols = 6
rt.Cells(8,2).Text = "发现违章、违纪,不少于6件。其中:"
rt.Cells(8,8).SpanRows = 3
rt.Cells(8,8).Text = "每少1件扣15分,少2件,扣30分,少3件,扣40分,"
rt.Cells(9,1).Text = "7"
rt.cells(9,2).SpanCols = 6
rt.Cells(9,2).Text = "现场违章、违纪,不少于4件;"
rt.Cells(10,1).Text = "8"
rt.cells(10,2).SpanCols = 6
rt.Cells(10,2).Text = "调车作业违章、违纪,不少于2件;"
rt.Cells(11,1).Text = "9"
rt.cells(11,2).SpanCols = 6
rt.Cells(11,2).Text = "每月发现包保单位违章不少于1件。"
rt.Cells(11,8).Text = "每少1件扣5分"
rt.Cells(12,1).Text = "10"
rt.cells(12,2).SpanCols = 6
rt.Cells(12,2).Text = "每月检查管内车站调车作业,不少于6批,其中监控切割正线调车,不少于2批 ;"
rt.Cells(12,8).Text = "每少1次扣2分"
rt.Cells(13,1).Text = "11"
rt.cells(13,2).SpanCols = 6
rt.Cells(13,2).Text = "每月利用监控设备、调听录音或现场接发列车标准执行情况不少于3次,每次 不少于5列(其中旅客列车2列);"
rt.Cells(13,8).Text = "每少1次扣2分"
rt.Cells(14,1).Text = "12"
rt.cells(14,2).SpanCols = 6
rt.Cells(14,2).Text = "每月对车辆防溜检查,不少于8次;"
rt.Cells(14,8).Text = "每少1次扣2分"
rt.Cells(15,1).Text = "13"
rt.cells(15,2).SpanCols = 6
rt.Cells(15,2).Text = "每月对专用线检查,不少于3次;"
rt.Cells(15,8).Text = "每少1次扣2分"
rt.Cells(16,1).Text = "14"
rt.cells(16,2).SpanCols = 6
rt.Cells(16,2).Text = "每月对装卸作业检查,不少于1次;"
rt.Cells(16,8).Text = "每少1次扣2分"
rt.Cells(17,1).Text = "15"
rt.cells(17,2).SpanCols = 6
rt.Cells(17,2).Text = "每月检查车机联控工作,不少于6次;"
rt.Cells(17,8).Text = "每少1次扣2分"
rt.Cells(18,1).Text = "16"
rt.cells(18,2).SpanCols = 6
rt.Cells(18,2).Text = "每月添乘机车检查接发列车情况不少于1次;"
rt.Cells(18,8).Text = "未落实,扣5分"
rt.Cells(19,0).SpanRows = 5 '第1行第5个单元格向下合并6行
rt.Cells(19,0).Text= "安全考核"
rt.Cells(19,1).Text = "17"
rt.cells(19,2).SpanCols = 6
rt.Cells(19,2).Text = "当月包保单位被路局下发的《安全预警通知书》"
rt.Cells(19,8).Text = "每件扣15分"
rt.Cells(20,1).Text = "18"
rt.cells(20,2).SpanCols = 6
rt.Cells(20,2).Text = "当月包保单位被路局对话会通报批评"
rt.Cells(20,8).Text = "每次扣10分"
rt.Cells(21,1).Text = "19"
rt.cells(21,2).SpanCols = 6
rt.Cells(21,2).Text = "当月包保单位被路局下发的《安全监察通知书》"
rt.Cells(21,8).Text = "每次扣5分"
rt.Cells(22,1).Text = "20"
rt.cells(22,2).SpanCols = 6
rt.Cells(22,2).Text = "当月包保单位被车站安全预警,督办通报"
rt.Cells(22,8).Text = "每次扣5分"
rt.Cells(23,1).Text = "21"
rt.cells(23,2).SpanCols = 6
rt.Cells(23,2).Text = "当月包保单位安全评估小组最后一名"
rt.Cells(23,8).Text = "每次扣5分"
Dim rx As New prt.RenderText
rt.Style.GridLines.All = New prt.Linedef(Color.Gray)
rt.CellStyle.Spacing.All = 1
rt.Cells(24,0).SpanRows = 30 '第1行第5个单元格向下合并6行
rt.Cells(24,0).Text= "工作写实"
rt.Cells(24,0).VertSplitBehavior = prt.CellSplitBehaviorEnum.Copy
rt.Cells(24,1).Text = "序号"
rt.Cells(24,2).Text = "日期"
rt.cells(24,3).SpanCols = 8
rt.Cells(24,3).Text = "时间,地点,检查内容"
rt.Style.TextAlignHorz = prt.AlignHorzEnum.center '所有文本内容靠右对齐
rt.cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.left '唯独第一列内容居中
rt.cells(2,2).Style.TextAlignHorz = prt.AlignHorzEnum.center '唯独第一列内容居中
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '垂直居中

rt.Cells(25,1).Text= 1
rt.cells(25,3).SpanCols = 8
Dim name As String = "窦东东"
Dim dt As DataTable = DataTables("机关干部履职情况")
For Each rq As Date In dt.GetValues("日期", "检查人1 like '%" & name & "%' and 日期 is not null")
   Dim arys As List(Of String()) = dt.GetValues("检查地点|开始时间|结束时间", "日期 = #" & rq & "# and 检查人1 like '%" & name & "%'")
   Dim str As String = ""
    For Each ary As String() In arys
        str &= format(cDate(ary(1)), "HH:mm") & "-" & format(cDate(ary(2)), "HH:mm") & ary(0) & ";"
    Next
    rt.Cells(25, 2).text & = format(rq,"MM月dd日")
    rt.Cells(25, 3).text & = str
Next
rt.Cells(50,0).Text = "考核情况"
rt.Cells(50,0).SpanRows = 2
rt.Cells(50,1).Text = "自评得分"
rt.cells(50,1).SpanCols = 2
rt.Cells(50,3).Text = "本人签字"
rt.cells(50,3).SpanCols = 3
rt.Cells(50,6).Text = "考核意见"
rt.cells(50,6).SpanCols = 3
rt.Cells(50,9).Text = "考核得分"
rt.cells(50,9).SpanCols = 2
rt.cells(51,1).SpanCols = 2
rt.cells(51,3).SpanCols = 3
rt.cells(51,6).SpanCols = 3
rt.cells(51,9).SpanCols = 2
Doc.Preview() '预览报表

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生成考核表.zip

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:安全科考核表(窦东东)2014.8.xls

[此贴子已经被作者于2014-9-18 17:26:23编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/18 17:31:00 [只看该作者]

这样改

 

Dim doc As New PrintDoc  '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中

rt.Style.GridLines.All = New prt.Linedef
rt.CellStyle.Spacing.All = 1
rt.RepeatGridLinesVert = True
rt.Cells(0,0).text = "安全科月度安全生产责任制考核表"
rt.Cells(0,0).SpanCols = 11
rt.Cells(0,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Cells(0,0).Style.Font = New Font("黑体", 18, FontStyle.Bold)
rt.Rows(0).Style.Borders.All = New prt.LineDef("0mm", Color.white)
rt.Cells(1,0).text = "姓名:窦东东"
rt.Cells(1,0).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,3).text = "职务:科长" '通过左边空格数量来调整副标题位置
rt.Cells(1,3).SpanCols = 2 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,5).text = "包保单位:晋北货运、晋北运转、晋北装卸、东元庆车站" '通过左边空格数量来调整副标题位置
rt.Cells(1,5).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,8).text =  Format(Date.Today(), "yyyy年MM月dd日")
rt.Cells(1,8).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,3).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,5).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,8).Style.TextAlignHorz = prt.AlignHorzEnum.right
rt.cells(1,0).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,3).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,5).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,8).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,0).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,3).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,5).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,8).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.Cells(1,0).Style.Font = New Font("宋体", 12)
rt.Cells(1,3).Style.Font = New Font("宋体", 12)
rt.Cells(1,5).Style.Font = New Font("宋体", 12)
rt.Cells(1,8).Style.Font = New Font("宋体", 12)
rt.Rows(1).Height = 8 '设置第二行的高度,拉开和表格主体的距离.
'设置列标题
rt.Cols(0).Width = 15
rt.Cols(1).Width = 15
rt.Cols(2).Width = 15
rt.Cols(8).Width = 30
rt.Cols(9).Width = 15
Doc.PageSetting.LeftMargin = 20 '设置左边距
Doc.PageSetting.RightMargin = 20 '设置右边距
Doc.PageSetting.TopMargin = 20 '设置上边距
Doc.PageSetting.BottomMargin = 20 '设置下边距
rt.cells(2,2).SpanCols = 6
rt.cells(2,0).Text = "考核项目"  '设置第一行第一个单元格的内容
rt.Cells(2,1).Text = "序号"  '设置第一行第四个单元格的内容
rt.Cells(2,2).Text= "量化考核内容"
rt.Cells(2,8).Text = "扣分标准"
rt.Cells(2,9).Text = "完成情况"
rt.cells(2,9).SpanCols = 2
rt.cells(3,9).SpanCols = 2
rt.cells(4,9).SpanCols = 2
rt.cells(5,9).SpanCols = 2
rt.cells(6,9).SpanCols = 2
rt.cells(7,9).SpanCols = 2
rt.cells(8,9).SpanCols = 2
rt.cells(9,9).SpanCols = 2
rt.cells(10,9).SpanCols = 2
rt.cells(11,9).SpanCols = 2
rt.cells(12,9).SpanCols = 2
rt.cells(13,9).SpanCols = 2
rt.cells(14,9).SpanCols = 2
rt.cells(15,9).SpanCols = 2
rt.cells(16,9).SpanCols = 2
rt.cells(17,9).SpanCols = 2
rt.cells(18,9).SpanCols = 2
rt.cells(19,9).SpanCols = 2
rt.cells(20,9).SpanCols = 2
rt.cells(21,9).SpanCols = 2
rt.cells(22,9).SpanCols = 2
rt.cells(23,9).SpanCols = 2
rt.Cells(3,0).SpanRows = 16 '第1行第5个单元格向下合并6行
rt.Cells(3,0).Text= "履行职责"
rt.Cells(3,1).Text = "1"
rt.cells(3,2).SpanCols = 6
rt.Cells(3,2).Text = "日常要深入车间(中间站),加强对职工的业务指导,解决生产中的技术难题 ,提高全站安全管理水平。每2月对管内各站、车间覆盖检查一遍,南三小站每月最少到1站。"
rt.Cells(3,8).Text = "未落实扣5分"
rt.Cells(4,1).Text = "2"
rt.cells(4,2).SpanCols = 6
rt.Cells(4,2).Text = "每月下现场,对行车主要岗位巡视检查不得少于13天,其中:"
rt.Cells(4,8).Text = "每少1天扣5分"
rt.Cells(5,1).Text = "3"
rt.cells(5,2).SpanCols = 6
rt.Cells(5,2).Text = "前夜巡视不少于2天;"
rt.Cells(5,8).Text = "每少1天扣5分"
rt.Cells(6,1).Text = "4"
rt.cells(6,2).SpanCols = 6
rt.Cells(6,2).Text = "后半夜巡视不少于6天(0至2点、2至4点、4至6点各不少于2次);"
rt.Cells(6,8).Text = "每少1天扣5分"
rt.Cells(7,1).Text = "5"
rt.cells(7,2).SpanCols = 6
rt.Cells(7,2).Text = "每月到包保单位不少于4天(其中星期五、双休日不少于2天,);节假日到包 保单位,小长假不少于1天,大长假不少于2天。"
rt.Cells(7,8).Text = "每少1天扣5分"
rt.Cells(8,1).Text = "6"
rt.cells(8,2).SpanCols = 6
rt.Cells(8,2).Text = "发现违章、违纪,不少于6件。其中:"
rt.Cells(8,8).SpanRows = 3
rt.Cells(8,8).Text = "每少1件扣15分,少2件,扣30分,少3件,扣40分,"
rt.Cells(9,1).Text = "7"
rt.cells(9,2).SpanCols = 6
rt.Cells(9,2).Text = "现场违章、违纪,不少于4件;"
rt.Cells(10,1).Text = "8"
rt.cells(10,2).SpanCols = 6
rt.Cells(10,2).Text = "调车作业违章、违纪,不少于2件;"
rt.Cells(11,1).Text = "9"
rt.cells(11,2).SpanCols = 6
rt.Cells(11,2).Text = "每月发现包保单位违章不少于1件。"
rt.Cells(11,8).Text = "每少1件扣5分"
rt.Cells(12,1).Text = "10"
rt.cells(12,2).SpanCols = 6
rt.Cells(12,2).Text = "每月检查管内车站调车作业,不少于6批,其中监控切割正线调车,不少于2批 ;"
rt.Cells(12,8).Text = "每少1次扣2分"
rt.Cells(13,1).Text = "11"
rt.cells(13,2).SpanCols = 6
rt.Cells(13,2).Text = "每月利用监控设备、调听录音或现场接发列车标准执行情况不少于3次,每次 不少于5列(其中旅客列车2列);"
rt.Cells(13,8).Text = "每少1次扣2分"
rt.Cells(14,1).Text = "12"
rt.cells(14,2).SpanCols = 6
rt.Cells(14,2).Text = "每月对车辆防溜检查,不少于8次;"
rt.Cells(14,8).Text = "每少1次扣2分"
rt.Cells(15,1).Text = "13"
rt.cells(15,2).SpanCols = 6
rt.Cells(15,2).Text = "每月对专用线检查,不少于3次;"
rt.Cells(15,8).Text = "每少1次扣2分"
rt.Cells(16,1).Text = "14"
rt.cells(16,2).SpanCols = 6
rt.Cells(16,2).Text = "每月对装卸作业检查,不少于1次;"
rt.Cells(16,8).Text = "每少1次扣2分"
rt.Cells(17,1).Text = "15"
rt.cells(17,2).SpanCols = 6
rt.Cells(17,2).Text = "每月检查车机联控工作,不少于6次;"
rt.Cells(17,8).Text = "每少1次扣2分"
rt.Cells(18,1).Text = "16"
rt.cells(18,2).SpanCols = 6
rt.Cells(18,2).Text = "每月添乘机车检查接发列车情况不少于1次;"
rt.Cells(18,8).Text = "未落实,扣5分"
rt.Cells(19,0).SpanRows = 5 '第1行第5个单元格向下合并6行
rt.Cells(19,0).Text= "安全考核"
rt.Cells(19,1).Text = "17"
rt.cells(19,2).SpanCols = 6
rt.Cells(19,2).Text = "当月包保单位被路局下发的《安全预警通知书》"
rt.Cells(19,8).Text = "每件扣15分"
rt.Cells(20,1).Text = "18"
rt.cells(20,2).SpanCols = 6
rt.Cells(20,2).Text = "当月包保单位被路局对话会通报批评"
rt.Cells(20,8).Text = "每次扣10分"
rt.Cells(21,1).Text = "19"
rt.cells(21,2).SpanCols = 6
rt.Cells(21,2).Text = "当月包保单位被路局下发的《安全监察通知书》"
rt.Cells(21,8).Text = "每次扣5分"
rt.Cells(22,1).Text = "20"
rt.cells(22,2).SpanCols = 6
rt.Cells(22,2).Text = "当月包保单位被车站安全预警,督办通报"
rt.Cells(22,8).Text = "每次扣5分"
rt.Cells(23,1).Text = "21"
rt.cells(23,2).SpanCols = 6
rt.Cells(23,2).Text = "当月包保单位安全评估小组最后一名"
rt.Cells(23,8).Text = "每次扣5分"
Dim rx As New prt.RenderText
rt.Style.GridLines.All = New prt.Linedef(Color.Gray)
rt.CellStyle.Spacing.All = 1
rt.Cells(24,0).SpanRows = 30 '第1行第5个单元格向下合并6行
rt.Cells(24,0).Text= "工作写实"
rt.Cells(24,0).VertSplitBehavior = prt.CellSplitBehaviorEnum.Copy
rt.Cells(24,1).Text = "序号"
rt.Cells(24,2).Text = "日期"
rt.cells(24,3).SpanCols = 8
rt.Cells(24,3).Text = "时间,地点,检查内容"
rt.Style.TextAlignHorz = prt.AlignHorzEnum.center '所有文本内容靠右对齐
rt.cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.left '唯独第一列内容居中
rt.cells(2,2).Style.TextAlignHorz = prt.AlignHorzEnum.center '唯独第一列内容居中
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '垂直居中

Dim name As String = "窦东东"
Dim dt As DataTable = DataTables("机关干部履职情况")
Dim i As Integer = 25
For Each rq As Date In dt.GetValues("日期", "检查人1 like '%" & name & "%' and 日期 is not null")
   Dim arys As List(Of String()) = dt.GetValues("检查地点|开始时间|结束时间", "日期 = #" & rq & "# and 检查人1 like '%" & name & "%'")
   Dim str As String = ""
    For Each ary As String() In arys
        str &= format(cDate(ary(1)), "HH:mm") & "-" & format(cDate(ary(2)), "HH:mm") & ary(0) & ";"
    Next
    rt.cells(i, 3).SpanCols = 8
    rt.Cells(i, 1).text = i - 24
    rt.Cells(i, 2).text = format(rq,"MM月dd日")
    rt.Cells(i, 3).text = str
    i += 1
Next
rt.Cells(50,0).Text = "考核情况"
rt.Cells(50,0).SpanRows = 2
rt.Cells(50,1).Text = "自评得分"
rt.cells(50,1).SpanCols = 2
rt.Cells(50,3).Text = "本人签字"
rt.cells(50,3).SpanCols = 3
rt.Cells(50,6).Text = "考核意见"
rt.cells(50,6).SpanCols = 3
rt.Cells(50,9).Text = "考核得分"
rt.cells(50,9).SpanCols = 2
rt.cells(51,1).SpanCols = 2
rt.cells(51,3).SpanCols = 3
rt.cells(51,6).SpanCols = 3
rt.cells(51,9).SpanCols = 2
Doc.Preview() '预览报表


 回到顶部
美女呀,离线,留言给我吧!
34772849
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:69 积分:752 威望:0 精华:0 注册:2012/2/6 19:10:00
请问违章如何分两列显示  发帖心情 Post By:2014/9/19 10:00:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生成考核表.zip

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:安全科考核表(窦东东)2014.8.xls

代码如下:如何修改代码,使违章分两列显示

'''...
Dim doc As New PrintDoc  '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中

rt.Style.GridLines.All = New prt.Linedef
rt.CellStyle.Spacing.All = 1
rt.RepeatGridLinesVert = True
rt.Cells(0,0).text = "安全科月度安全生产责任制考核表"
rt.Cells(0,0).SpanCols = 11
rt.Cells(0,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Cells(0,0).Style.Font = New Font("黑体", 18, FontStyle.Bold)
rt.Rows(0).Style.Borders.All = New prt.LineDef("0mm", Color.white)
rt.Cells(1,0).text = "姓名:" & _UserName
rt.Cells(1,0).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,3).text = "职务:" '通过左边空格数量来调整副标题位置
rt.Cells(1,3).SpanCols = 2 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,5).text = "包保单位:" '通过左边空格数量来调整副标题位置
rt.Cells(1,5).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,8).text =  Format(Date.Today(), "yyyy年MM月dd日")
rt.Cells(1,8).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,3).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,5).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,8).Style.TextAlignHorz = prt.AlignHorzEnum.right
rt.cells(1,0).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,3).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,5).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,8).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,0).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,3).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,5).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,8).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.Cells(1,0).Style.Font = New Font("宋体", 12)
rt.Cells(1,3).Style.Font = New Font("宋体", 12)
rt.Cells(1,5).Style.Font = New Font("宋体", 12)
rt.Cells(1,8).Style.Font = New Font("宋体", 12)
rt.Rows(1).Height = 8 '设置第二行的高度,拉开和表格主体的距离.
'设置列标题
rt.Cols(0).Width = 15
rt.Cols(1).Width = 15
rt.Cols(2).Width = 15
rt.Cols(8).Width = 30
rt.Cols(9).Width = 15
Doc.PageSetting.LeftMargin = 20 '设置左边距
Doc.PageSetting.RightMargin = 20 '设置右边距
Doc.PageSetting.TopMargin = 20 '设置上边距
Doc.PageSetting.BottomMargin = 20 '设置下边距
rt.cells(2,2).SpanCols = 6
rt.cells(2,0).Text = "考核项目"  '设置第一行第一个单元格的内容
rt.Cells(2,1).Text = "序号"  '设置第一行第四个单元格的内容
rt.Cells(2,2).Text= "量化考核内容"
rt.Cells(2,8).Text = "扣分标准"
rt.Cells(2,9).Text = "完成情况"
rt.cells(2,9).SpanCols = 2
rt.cells(3,9).SpanCols = 2
rt.cells(4,9).SpanCols = 2
rt.cells(5,9).SpanCols = 2
rt.cells(6,9).SpanCols = 2
rt.cells(7,9).SpanCols = 2
rt.cells(8,9).SpanCols = 2
rt.cells(9,9).SpanCols = 2
rt.cells(10,9).SpanCols = 2
rt.cells(11,9).SpanCols = 2
rt.cells(12,9).SpanCols = 2
rt.cells(13,9).SpanCols = 2
rt.cells(14,9).SpanCols = 2
rt.cells(15,9).SpanCols = 2
rt.cells(16,9).SpanCols = 2
rt.cells(17,9).SpanCols = 2
rt.cells(18,9).SpanCols = 2
rt.cells(19,9).SpanCols = 2
rt.cells(20,9).SpanCols = 2
rt.cells(21,9).SpanCols = 2
rt.cells(22,9).SpanCols = 2
rt.cells(23,9).SpanCols = 2
rt.Cells(3,0).SpanRows = 16 '第1行第5个单元格向下合并6行
rt.Cells(3,0).Text= "履行职责"
rt.Cells(3,1).Text = "1"
rt.cells(3,2).SpanCols = 6
rt.Cells(3,2).Text = "日常要深入车间(中间站),加强对职工的业务指导,解决生产中的技术难题 ,提高全站安全管理水平。每2月对管内各站、车间覆盖检查一遍,南三小站每月最少到1站。"
rt.Cells(3,8).Text = "未落实扣5分"
rt.Cells(4,1).Text = "2"
rt.cells(4,2).SpanCols = 6
rt.Cells(4,2).Text = "每月下现场,对行车主要岗位巡视检查不得少于13天,其中:"
rt.Cells(4,8).Text = "每少1天扣5分"
rt.Cells(5,1).Text = "3"
rt.cells(5,2).SpanCols = 6
rt.Cells(5,2).Text = "前夜巡视不少于2天;"
rt.Cells(5,8).Text = "每少1天扣5分"
rt.Cells(6,1).Text = "4"
rt.cells(6,2).SpanCols = 6
rt.Cells(6,2).Text = "后半夜巡视不少于6天(0至2点、2至4点、4至6点各不少于2次);"
rt.Cells(6,8).Text = "每少1天扣5分"
rt.Cells(7,1).Text = "5"
rt.cells(7,2).SpanCols = 6
rt.Cells(7,2).Text = "每月到包保单位不少于4天(其中星期五、双休日不少于2天,);节假日到包 保单位,小长假不少于1天,大长假不少于2天。"
rt.Cells(7,8).Text = "每少1天扣5分"
rt.Cells(8,1).Text = "6"
rt.cells(8,2).SpanCols = 6
rt.Cells(8,2).Text = "发现违章、违纪,不少于6件。其中:"
rt.Cells(8,8).SpanRows = 3
rt.Cells(8,8).Text = "每少1件扣15分,少2件,扣30分,少3件,扣40分,"
rt.Cells(9,1).Text = "7"
rt.cells(9,2).SpanCols = 6
rt.Cells(9,2).Text = "现场违章、违纪,不少于4件;"
rt.Cells(10,1).Text = "8"
rt.cells(10,2).SpanCols = 6
rt.Cells(10,2).Text = "调车作业违章、违纪,不少于2件;"
rt.Cells(11,1).Text = "9"
rt.cells(11,2).SpanCols = 6
rt.Cells(11,2).Text = "每月发现包保单位违章不少于1件。"
rt.Cells(11,8).Text = "每少1件扣5分"
rt.Cells(12,1).Text = "10"
rt.cells(12,2).SpanCols = 6
rt.Cells(12,2).Text = "每月检查管内车站调车作业,不少于6批,其中监控切割正线调车,不少于2批 ;"
rt.Cells(12,8).Text = "每少1次扣2分"
rt.Cells(13,1).Text = "11"
rt.cells(13,2).SpanCols = 6
rt.Cells(13,2).Text = "每月利用监控设备、调听录音或现场接发列车标准执行情况不少于3次,每次 不少于5列(其中旅客列车2列);"
rt.Cells(13,8).Text = "每少1次扣2分"
rt.Cells(14,1).Text = "12"
rt.cells(14,2).SpanCols = 6
rt.Cells(14,2).Text = "每月对车辆防溜检查,不少于8次;"
rt.Cells(14,8).Text = "每少1次扣2分"
rt.Cells(15,1).Text = "13"
rt.cells(15,2).SpanCols = 6
rt.Cells(15,2).Text = "每月对专用线检查,不少于3次;"
rt.Cells(15,8).Text = "每少1次扣2分"
rt.Cells(16,1).Text = "14"
rt.cells(16,2).SpanCols = 6
rt.Cells(16,2).Text = "每月对装卸作业检查,不少于1次;"
rt.Cells(16,8).Text = "每少1次扣2分"
rt.Cells(17,1).Text = "15"
rt.cells(17,2).SpanCols = 6
rt.Cells(17,2).Text = "每月检查车机联控工作,不少于6次;"
rt.Cells(17,8).Text = "每少1次扣2分"
rt.Cells(18,1).Text = "16"
rt.cells(18,2).SpanCols = 6
rt.Cells(18,2).Text = "每月添乘机车检查接发列车情况不少于1次;"
rt.Cells(18,8).Text = "未落实,扣5分"
rt.Cells(19,0).SpanRows = 5 '第1行第5个单元格向下合并6行
rt.Cells(19,0).Text= "安全考核"
rt.Cells(19,1).Text = "17"
rt.cells(19,2).SpanCols = 6
rt.Cells(19,2).Text = "当月包保单位被路局下发的《安全预警通知书》"
rt.Cells(19,8).Text = "每件扣15分"
rt.Cells(20,1).Text = "18"
rt.cells(20,2).SpanCols = 6
rt.Cells(20,2).Text = "当月包保单位被路局对话会通报批评"
rt.Cells(20,8).Text = "每次扣10分"
rt.Cells(21,1).Text = "19"
rt.cells(21,2).SpanCols = 6
rt.Cells(21,2).Text = "当月包保单位被路局下发的《安全监察通知书》"
rt.Cells(21,8).Text = "每次扣5分"
rt.Cells(22,1).Text = "20"
rt.cells(22,2).SpanCols = 6
rt.Cells(22,2).Text = "当月包保单位被车站安全预警,督办通报"
rt.Cells(22,8).Text = "每次扣5分"
rt.Cells(23,1).Text = "21"
rt.cells(23,2).SpanCols = 6
rt.Cells(23,2).Text = "当月包保单位安全评估小组最后一名"
rt.Cells(23,8).Text = "每次扣5分"
Dim rx As New prt.RenderText
rt.Style.GridLines.All = New prt.Linedef(Color.Gray)
rt.CellStyle.Spacing.All = 1
rt.Cells(24,0).SpanRows = 30 '第1行第5个单元格向下合并6行
rt.Cells(24,0).Text= "工作写实"
rt.Cells(24,0).VertSplitBehavior = prt.CellSplitBehaviorEnum.Copy
rt.Cells(24,1).Text = "序号"
rt.Cells(24,2).Text = "日期"
rt.cells(24,3).SpanCols = 8
rt.Cells(24,3).Text = "时间,地点,检查内容"
rt.Style.TextAlignHorz = prt.AlignHorzEnum.center '所有文本内容靠右对齐
rt.cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.left '唯独第一列内容居中
rt.cells(2,2).Style.TextAlignHorz = prt.AlignHorzEnum.center '唯独第一列内容居中
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '垂直居中
Dim name As String = "窦东东"
Dim dt As DataTable = DataTables("机关干部履职情况")
Dim i As Integer = 25
For Each rq As Date In dt.GetValues("日期", "(检查人1 like '%" & name  & "%' or 检查人3 like '%" & name  & "%') and 日期 is not null")
   Dim arys As List(Of String()) = dt.GetValues("检查地点|开始时间|结束时间", "日期 = #" & rq & "# and 检查人1 like '%" & name & "%'")
   Dim str As String = ""
    For Each ary As String() In arys
        str &= format(cDate(ary(1)), "HH:mm") & "-" & format(cDate(ary(2)), "HH:mm") & ary(0) & ";"
    Next
    rt.cells(i, 3).SpanCols = 8
    rt.Cells(i, 1).text = i - 24
    rt.Cells(i, 2).text = format(rq,"MM-dd")
    rt.Cells(i, 3).text = str
    i += 1
Next
rt.Cells(47,1).Text = "当月发现违章违纪件数"
rt.cells(47,1).SpanCols = 5
rt.Cells(47,6).Text = ""
rt.cells(47,6).SpanCols = 5
rt.Cells(48,1).Text = "日期"
rt.Cells(48,2).Text = "发现两违内容"
rt.cells(48,2).SpanCols = 3
rt.Cells(48,5).Text = "性质"
rt.Cells(48,6).Text = "日期"
rt.Cells(48,7).Text = "发现两违内容"
rt.cells(48,7).SpanCols = 3
rt.Cells(48,10).Text = "性质"

rt.Cells(49,1).Text = "[Format(Fields!日期.Value,""MM-dd"")]"
rt.Cells(49,2).Text = "[Fields!违章违纪概况.Value]"
rt.cells(49,2).SpanCols = 3
rt.cells(49,7).SpanCols = 3
Tables("机关干部履职情况").Filter = "(检查人1 like '%" & name  & "%' or 检查人3 like '%" & name  & "%') and 违章违纪概况 Is not Null"
Tables("机关干部履职情况").Sort = "日期"
rt.RowGroups(49,1).DataBinding.DataSource = BindTables("机关干部履职情况")
rt.Cells(49,5).Text = "[Fields!违章性质.Value]"

rt.Cells(50,0).Text = "考核情况"
rt.Cells(50,0).SpanRows = 2
rt.Cells(50,1).Text = "自评得分"
rt.cells(50,1).SpanCols = 2
rt.Cells(50,3).Text = "本人签字"
rt.cells(50,3).SpanCols = 3
rt.Cells(50,6).Text = "考核意见"
rt.cells(50,6).SpanCols = 3
rt.Cells(50,9).Text = "考核得分"
rt.cells(50,9).SpanCols = 2
rt.cells(51,1).SpanCols = 2
rt.cells(51,3).SpanCols = 3
rt.cells(51,6).SpanCols = 3
rt.cells(51,9).SpanCols = 2

Doc.Preview() '预览报表

[此贴子已经被作者于2014-9-19 10:18:44编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/19 10:05:00 [只看该作者]

 请把对应的表发上来。你的代码无法正常执行

 回到顶部
美女呀,离线,留言给我吧!
34772849
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:69 积分:752 威望:0 精华:0 注册:2012/2/6 19:10:00
  发帖心情 Post By:2014/9/19 10:13:00 [只看该作者]

14楼已经重发,请指教
[此贴子已经被作者于2014-9-19 10:19:36编辑过]

 回到顶部
美女呀,离线,留言给我吧!
34772849
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:69 积分:752 威望:0 精华:0 注册:2012/2/6 19:10:00
回复:(有点甜)?请把对应的表发上来。你的代码...  发帖心情 Post By:2014/9/19 10:22:00 [只看该作者]

'''...
Dim doc As New PrintDoc  '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中

rt.Style.GridLines.All = New prt.Linedef
rt.CellStyle.Spacing.All = 1
rt.RepeatGridLinesVert = True
rt.Cells(0,0).text = "安全科月度安全生产责任制考核表"
rt.Cells(0,0).SpanCols = 11
rt.Cells(0,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Cells(0,0).Style.Font = New Font("黑体", 18, FontStyle.Bold)
rt.Rows(0).Style.Borders.All = New prt.LineDef("0mm", Color.white)
rt.Cells(1,0).text = "姓名:窦东东"
rt.Cells(1,0).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,3).text = "职务:" '通过左边空格数量来调整副标题位置
rt.Cells(1,3).SpanCols = 2 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,5).text = "包保单位:" '通过左边空格数量来调整副标题位置
rt.Cells(1,5).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,8).text =  Format(Date.Today(), "yyyy年MM月dd日")
rt.Cells(1,8).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,3).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,5).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,8).Style.TextAlignHorz = prt.AlignHorzEnum.right
rt.cells(1,0).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,3).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,5).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,8).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,0).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,3).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,5).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,8).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.Cells(1,0).Style.Font = New Font("宋体", 12)
rt.Cells(1,3).Style.Font = New Font("宋体", 12)
rt.Cells(1,5).Style.Font = New Font("宋体", 12)
rt.Cells(1,8).Style.Font = New Font("宋体", 12)
rt.Rows(1).Height = 8 '设置第二行的高度,拉开和表格主体的距离.
'设置列标题
rt.Cols(0).Width = 15
rt.Cols(1).Width = 15
rt.Cols(2).Width = 15
rt.Cols(8).Width = 30
rt.Cols(9).Width = 15
Doc.PageSetting.LeftMargin = 20 '设置左边距
Doc.PageSetting.RightMargin = 20 '设置右边距
Doc.PageSetting.TopMargin = 20 '设置上边距
Doc.PageSetting.BottomMargin = 20 '设置下边距
rt.cells(2,2).SpanCols = 6
rt.cells(2,0).Text = "考核项目"  '设置第一行第一个单元格的内容
rt.Cells(2,1).Text = "序号"  '设置第一行第四个单元格的内容
rt.Cells(2,2).Text= "量化考核内容"
rt.Cells(2,8).Text = "扣分标准"
rt.Cells(2,9).Text = "完成情况"
rt.cells(2,9).SpanCols = 2
rt.cells(3,9).SpanCols = 2
rt.cells(4,9).SpanCols = 2
rt.cells(5,9).SpanCols = 2
rt.cells(6,9).SpanCols = 2
rt.cells(7,9).SpanCols = 2
rt.cells(8,9).SpanCols = 2
rt.cells(9,9).SpanCols = 2
rt.cells(10,9).SpanCols = 2
rt.cells(11,9).SpanCols = 2
rt.cells(12,9).SpanCols = 2
rt.cells(13,9).SpanCols = 2
rt.cells(14,9).SpanCols = 2
rt.cells(15,9).SpanCols = 2
rt.cells(16,9).SpanCols = 2
rt.cells(17,9).SpanCols = 2
rt.cells(18,9).SpanCols = 2
rt.cells(19,9).SpanCols = 2
rt.cells(20,9).SpanCols = 2
rt.cells(21,9).SpanCols = 2
rt.cells(22,9).SpanCols = 2
rt.cells(23,9).SpanCols = 2
rt.Cells(3,0).SpanRows = 16 '第1行第5个单元格向下合并6行
rt.Cells(3,0).Text= "履行职责"
rt.Cells(3,1).Text = "1"
rt.cells(3,2).SpanCols = 6
rt.Cells(3,2).Text = "日常要深入车间(中间站),加强对职工的业务指导,解决生产中的技术难题 ,提高全站安全管理水平。每2月对管内各站、车间覆盖检查一遍,南三小站每月最少到1站。"
rt.Cells(3,8).Text = "未落实扣5分"
rt.Cells(4,1).Text = "2"
rt.cells(4,2).SpanCols = 6
rt.Cells(4,2).Text = "每月下现场,对行车主要岗位巡视检查不得少于13天,其中:"
rt.Cells(4,8).Text = "每少1天扣5分"
rt.Cells(5,1).Text = "3"
rt.cells(5,2).SpanCols = 6
rt.Cells(5,2).Text = "前夜巡视不少于2天;"
rt.Cells(5,8).Text = "每少1天扣5分"
rt.Cells(6,1).Text = "4"
rt.cells(6,2).SpanCols = 6
rt.Cells(6,2).Text = "后半夜巡视不少于6天(0至2点、2至4点、4至6点各不少于2次);"
rt.Cells(6,8).Text = "每少1天扣5分"
rt.Cells(7,1).Text = "5"
rt.cells(7,2).SpanCols = 6
rt.Cells(7,2).Text = "每月到包保单位不少于4天(其中星期五、双休日不少于2天,);节假日到包 保单位,小长假不少于1天,大长假不少于2天。"
rt.Cells(7,8).Text = "每少1天扣5分"
rt.Cells(8,1).Text = "6"
rt.cells(8,2).SpanCols = 6
rt.Cells(8,2).Text = "发现违章、违纪,不少于6件。其中:"
rt.Cells(8,8).SpanRows = 3
rt.Cells(8,8).Text = "每少1件扣15分,少2件,扣30分,少3件,扣40分,"
rt.Cells(9,1).Text = "7"
rt.cells(9,2).SpanCols = 6
rt.Cells(9,2).Text = "现场违章、违纪,不少于4件;"
rt.Cells(10,1).Text = "8"
rt.cells(10,2).SpanCols = 6
rt.Cells(10,2).Text = "调车作业违章、违纪,不少于2件;"
rt.Cells(11,1).Text = "9"
rt.cells(11,2).SpanCols = 6
rt.Cells(11,2).Text = "每月发现包保单位违章不少于1件。"
rt.Cells(11,8).Text = "每少1件扣5分"
rt.Cells(12,1).Text = "10"
rt.cells(12,2).SpanCols = 6
rt.Cells(12,2).Text = "每月检查管内车站调车作业,不少于6批,其中监控切割正线调车,不少于2批 ;"
rt.Cells(12,8).Text = "每少1次扣2分"
rt.Cells(13,1).Text = "11"
rt.cells(13,2).SpanCols = 6
rt.Cells(13,2).Text = "每月利用监控设备、调听录音或现场接发列车标准执行情况不少于3次,每次 不少于5列(其中旅客列车2列);"
rt.Cells(13,8).Text = "每少1次扣2分"
rt.Cells(14,1).Text = "12"
rt.cells(14,2).SpanCols = 6
rt.Cells(14,2).Text = "每月对车辆防溜检查,不少于8次;"
rt.Cells(14,8).Text = "每少1次扣2分"
rt.Cells(15,1).Text = "13"
rt.cells(15,2).SpanCols = 6
rt.Cells(15,2).Text = "每月对专用线检查,不少于3次;"
rt.Cells(15,8).Text = "每少1次扣2分"
rt.Cells(16,1).Text = "14"
rt.cells(16,2).SpanCols = 6
rt.Cells(16,2).Text = "每月对装卸作业检查,不少于1次;"
rt.Cells(16,8).Text = "每少1次扣2分"
rt.Cells(17,1).Text = "15"
rt.cells(17,2).SpanCols = 6
rt.Cells(17,2).Text = "每月检查车机联控工作,不少于6次;"
rt.Cells(17,8).Text = "每少1次扣2分"
rt.Cells(18,1).Text = "16"
rt.cells(18,2).SpanCols = 6
rt.Cells(18,2).Text = "每月添乘机车检查接发列车情况不少于1次;"
rt.Cells(18,8).Text = "未落实,扣5分"
rt.Cells(19,0).SpanRows = 5 '第1行第5个单元格向下合并6行
rt.Cells(19,0).Text= "安全考核"
rt.Cells(19,1).Text = "17"
rt.cells(19,2).SpanCols = 6
rt.Cells(19,2).Text = "当月包保单位被路局下发的《安全预警通知书》"
rt.Cells(19,8).Text = "每件扣15分"
rt.Cells(20,1).Text = "18"
rt.cells(20,2).SpanCols = 6
rt.Cells(20,2).Text = "当月包保单位被路局对话会通报批评"
rt.Cells(20,8).Text = "每次扣10分"
rt.Cells(21,1).Text = "19"
rt.cells(21,2).SpanCols = 6
rt.Cells(21,2).Text = "当月包保单位被路局下发的《安全监察通知书》"
rt.Cells(21,8).Text = "每次扣5分"
rt.Cells(22,1).Text = "20"
rt.cells(22,2).SpanCols = 6
rt.Cells(22,2).Text = "当月包保单位被车站安全预警,督办通报"
rt.Cells(22,8).Text = "每次扣5分"
rt.Cells(23,1).Text = "21"
rt.cells(23,2).SpanCols = 6
rt.Cells(23,2).Text = "当月包保单位安全评估小组最后一名"
rt.Cells(23,8).Text = "每次扣5分"
Dim rx As New prt.RenderText
rt.Style.GridLines.All = New prt.Linedef(Color.Gray)
rt.CellStyle.Spacing.All = 1
rt.Cells(24,0).SpanRows = 30 '第1行第5个单元格向下合并6行
rt.Cells(24,0).Text= "工作写实"
rt.Cells(24,0).VertSplitBehavior = prt.CellSplitBehaviorEnum.Copy
rt.Cells(24,1).Text = "序号"
rt.Cells(24,2).Text = "日期"
rt.cells(24,3).SpanCols = 8
rt.Cells(24,3).Text = "时间,地点,检查内容"
rt.Style.TextAlignHorz = prt.AlignHorzEnum.center '所有文本内容靠右对齐
rt.cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.left '唯独第一列内容居中
rt.cells(2,2).Style.TextAlignHorz = prt.AlignHorzEnum.center '唯独第一列内容居中
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '垂直居中
Dim name As String = "窦东东"
Dim dt As DataTable = DataTables("机关干部履职情况")
Dim i As Integer = 25
For Each rq As Date In dt.GetValues("日期", "(检查人1 like '%" & name  & "%' or 检查人3 like '%" & name  & "%') and 日期 is not null")
   Dim arys As List(Of String()) = dt.GetValues("检查地点|开始时间|结束时间", "日期 = #" & rq & "# and 检查人1 like '%" & name & "%'")
   Dim str As String = ""
    For Each ary As String() In arys
        str &= format(cDate(ary(1)), "HH:mm") & "-" & format(cDate(ary(2)), "HH:mm") & ary(0) & ";"
    Next
    rt.cells(i, 3).SpanCols = 8
    rt.Cells(i, 1).text = i - 24
    rt.Cells(i, 2).text = format(rq,"MM-dd")
    rt.Cells(i, 3).text = str
    i += 1
Next
rt.Cells(47,1).Text = "当月发现违章违纪件数"
rt.cells(47,1).SpanCols = 5
rt.Cells(47,6).Text = ""
rt.cells(47,6).SpanCols = 5
rt.Cells(48,1).Text = "日期"
rt.Cells(48,2).Text = "发现两违内容"
rt.cells(48,2).SpanCols = 3
rt.Cells(48,5).Text = "性质"
rt.Cells(48,6).Text = "日期"
rt.Cells(48,7).Text = "发现两违内容"
rt.cells(48,7).SpanCols = 3
rt.Cells(48,10).Text = "性质"

rt.Cells(49,1).Text = "[Format(Fields!日期.Value,""MM-dd"")]"
rt.Cells(49,2).Text = "[Fields!违章违纪概况.Value]"
rt.cells(49,2).SpanCols = 3
rt.cells(49,7).SpanCols = 3
Tables("机关干部履职情况").Filter = "(检查人1 like '%" & name  & "%' or 检查人3 like '%" & name  & "%') and 违章违纪概况 Is not Null"
Tables("机关干部履职情况").Sort = "日期"
rt.RowGroups(49,1).DataBinding.DataSource = BindTables("机关干部履职情况")
rt.Cells(49,5).Text = "[Fields!违章性质.Value]"

rt.Cells(50,0).Text = "考核情况"
rt.Cells(50,0).SpanRows = 2
rt.Cells(50,1).Text = "自评得分"
rt.cells(50,1).SpanCols = 2
rt.Cells(50,3).Text = "本人签字"
rt.cells(50,3).SpanCols = 3
rt.Cells(50,6).Text = "考核意见"
rt.cells(50,6).SpanCols = 3
rt.Cells(50,9).Text = "考核得分"
rt.cells(50,9).SpanCols = 2
rt.cells(51,1).SpanCols = 2
rt.cells(51,3).SpanCols = 3
rt.cells(51,6).SpanCols = 3
rt.cells(51,9).SpanCols = 2


Doc.Preview() '预览报表

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:生成考核表.zip

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:安全科考核表(窦东东)2014.8.xls

[此贴子已经被作者于2014-9-19 10:37:33编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/19 10:41:00 [只看该作者]

Dim doc As New PrintDoc  '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中

rt.Style.GridLines.All = New prt.Linedef
rt.CellStyle.Spacing.All = 1
rt.RepeatGridLinesVert = True
rt.Cells(0,0).text = "安全科月度安全生产责任制考核表"
rt.Cells(0,0).SpanCols = 11
rt.Cells(0,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Cells(0,0).Style.Font = New Font("黑体", 18, FontStyle.Bold)
rt.Rows(0).Style.Borders.All = New prt.LineDef("0mm", Color.white)
rt.Cells(1,0).text = "姓名:" '& _UserName
rt.Cells(1,0).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,3).text = "职务:" '通过左边空格数量来调整副标题位置
rt.Cells(1,3).SpanCols = 2 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,5).text = "包保单位:" '通过左边空格数量来调整副标题位置
rt.Cells(1,5).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,8).text =  Format(Date.Today(), "yyyy年MM月dd日")
rt.Cells(1,8).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,3).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,5).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,8).Style.TextAlignHorz = prt.AlignHorzEnum.right
rt.cells(1,0).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,3).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,5).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,8).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,0).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,3).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,5).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,8).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.Cells(1,0).Style.Font = New Font("宋体", 12)
rt.Cells(1,3).Style.Font = New Font("宋体", 12)
rt.Cells(1,5).Style.Font = New Font("宋体", 12)
rt.Cells(1,8).Style.Font = New Font("宋体", 12)
rt.Rows(1).Height = 8 '设置第二行的高度,拉开和表格主体的距离.
'设置列标题
rt.Cols(0).Width = 15
rt.Cols(1).Width = 15
rt.Cols(2).Width = 15
rt.Cols(8).Width = 30
rt.Cols(9).Width = 15
Doc.PageSetting.LeftMargin = 20 '设置左边距
Doc.PageSetting.RightMargin = 20 '设置右边距
Doc.PageSetting.TopMargin = 20 '设置上边距
Doc.PageSetting.BottomMargin = 20 '设置下边距
rt.cells(2,2).SpanCols = 6
rt.cells(2,0).Text = "考核项目"  '设置第一行第一个单元格的内容
rt.Cells(2,1).Text = "序号"  '设置第一行第四个单元格的内容
rt.Cells(2,2).Text= "量化考核内容"
rt.Cells(2,8).Text = "扣分标准"
rt.Cells(2,9).Text = "完成情况"
rt.cells(2,9).SpanCols = 2
rt.cells(3,9).SpanCols = 2
rt.cells(4,9).SpanCols = 2
rt.cells(5,9).SpanCols = 2
rt.cells(6,9).SpanCols = 2
rt.cells(7,9).SpanCols = 2
rt.cells(8,9).SpanCols = 2
rt.cells(9,9).SpanCols = 2
rt.cells(10,9).SpanCols = 2
rt.cells(11,9).SpanCols = 2
rt.cells(12,9).SpanCols = 2
rt.cells(13,9).SpanCols = 2
rt.cells(14,9).SpanCols = 2
rt.cells(15,9).SpanCols = 2
rt.cells(16,9).SpanCols = 2
rt.cells(17,9).SpanCols = 2
rt.cells(18,9).SpanCols = 2
rt.cells(19,9).SpanCols = 2
rt.cells(20,9).SpanCols = 2
rt.cells(21,9).SpanCols = 2
rt.cells(22,9).SpanCols = 2
rt.cells(23,9).SpanCols = 2
rt.Cells(3,0).SpanRows = 16 '第1行第5个单元格向下合并6行
rt.Cells(3,0).Text= "履行职责"
rt.Cells(3,1).Text = "1"
rt.cells(3,2).SpanCols = 6
rt.Cells(3,2).Text = "日常要深入车间(中间站),加强对职工的业务指导,解决生产中的技术难题 ,提高全站安全管理水平。每2月对管内各站、车间覆盖检查一遍,南三小站每月最少到1站。"
rt.Cells(3,8).Text = "未落实扣5分"
rt.Cells(4,1).Text = "2"
rt.cells(4,2).SpanCols = 6
rt.Cells(4,2).Text = "每月下现场,对行车主要岗位巡视检查不得少于13天,其中:"
rt.Cells(4,8).Text = "每少1天扣5分"
rt.Cells(5,1).Text = "3"
rt.cells(5,2).SpanCols = 6
rt.Cells(5,2).Text = "前夜巡视不少于2天;"
rt.Cells(5,8).Text = "每少1天扣5分"
rt.Cells(6,1).Text = "4"
rt.cells(6,2).SpanCols = 6
rt.Cells(6,2).Text = "后半夜巡视不少于6天(0至2点、2至4点、4至6点各不少于2次);"
rt.Cells(6,8).Text = "每少1天扣5分"
rt.Cells(7,1).Text = "5"
rt.cells(7,2).SpanCols = 6
rt.Cells(7,2).Text = "每月到包保单位不少于4天(其中星期五、双休日不少于2天,);节假日到包 保单位,小长假不少于1天,大长假不少于2天。"
rt.Cells(7,8).Text = "每少1天扣5分"
rt.Cells(8,1).Text = "6"
rt.cells(8,2).SpanCols = 6
rt.Cells(8,2).Text = "发现违章、违纪,不少于6件。其中:"
rt.Cells(8,8).SpanRows = 3
rt.Cells(8,8).Text = "每少1件扣15分,少2件,扣30分,少3件,扣40分,"
rt.Cells(9,1).Text = "7"
rt.cells(9,2).SpanCols = 6
rt.Cells(9,2).Text = "现场违章、违纪,不少于4件;"
rt.Cells(10,1).Text = "8"
rt.cells(10,2).SpanCols = 6
rt.Cells(10,2).Text = "调车作业违章、违纪,不少于2件;"
rt.Cells(11,1).Text = "9"
rt.cells(11,2).SpanCols = 6
rt.Cells(11,2).Text = "每月发现包保单位违章不少于1件。"
rt.Cells(11,8).Text = "每少1件扣5分"
rt.Cells(12,1).Text = "10"
rt.cells(12,2).SpanCols = 6
rt.Cells(12,2).Text = "每月检查管内车站调车作业,不少于6批,其中监控切割正线调车,不少于2批 ;"
rt.Cells(12,8).Text = "每少1次扣2分"
rt.Cells(13,1).Text = "11"
rt.cells(13,2).SpanCols = 6
rt.Cells(13,2).Text = "每月利用监控设备、调听录音或现场接发列车标准执行情况不少于3次,每次 不少于5列(其中旅客列车2列);"
rt.Cells(13,8).Text = "每少1次扣2分"
rt.Cells(14,1).Text = "12"
rt.cells(14,2).SpanCols = 6
rt.Cells(14,2).Text = "每月对车辆防溜检查,不少于8次;"
rt.Cells(14,8).Text = "每少1次扣2分"
rt.Cells(15,1).Text = "13"
rt.cells(15,2).SpanCols = 6
rt.Cells(15,2).Text = "每月对专用线检查,不少于3次;"
rt.Cells(15,8).Text = "每少1次扣2分"
rt.Cells(16,1).Text = "14"
rt.cells(16,2).SpanCols = 6
rt.Cells(16,2).Text = "每月对装卸作业检查,不少于1次;"
rt.Cells(16,8).Text = "每少1次扣2分"
rt.Cells(17,1).Text = "15"
rt.cells(17,2).SpanCols = 6
rt.Cells(17,2).Text = "每月检查车机联控工作,不少于6次;"
rt.Cells(17,8).Text = "每少1次扣2分"
rt.Cells(18,1).Text = "16"
rt.cells(18,2).SpanCols = 6
rt.Cells(18,2).Text = "每月添乘机车检查接发列车情况不少于1次;"
rt.Cells(18,8).Text = "未落实,扣5分"
rt.Cells(19,0).SpanRows = 5 '第1行第5个单元格向下合并6行
rt.Cells(19,0).Text= "安全考核"
rt.Cells(19,1).Text = "17"
rt.cells(19,2).SpanCols = 6
rt.Cells(19,2).Text = "当月包保单位被路局下发的《安全预警通知书》"
rt.Cells(19,8).Text = "每件扣15分"
rt.Cells(20,1).Text = "18"
rt.cells(20,2).SpanCols = 6
rt.Cells(20,2).Text = "当月包保单位被路局对话会通报批评"
rt.Cells(20,8).Text = "每次扣10分"
rt.Cells(21,1).Text = "19"
rt.cells(21,2).SpanCols = 6
rt.Cells(21,2).Text = "当月包保单位被路局下发的《安全监察通知书》"
rt.Cells(21,8).Text = "每次扣5分"
rt.Cells(22,1).Text = "20"
rt.cells(22,2).SpanCols = 6
rt.Cells(22,2).Text = "当月包保单位被车站安全预警,督办通报"
rt.Cells(22,8).Text = "每次扣5分"
rt.Cells(23,1).Text = "21"
rt.cells(23,2).SpanCols = 6
rt.Cells(23,2).Text = "当月包保单位安全评估小组最后一名"
rt.Cells(23,8).Text = "每次扣5分"
Dim rx As New prt.RenderText
rt.Style.GridLines.All = New prt.Linedef(Color.Gray)
rt.CellStyle.Spacing.All = 1
rt.Cells(24,0).Text= "工作写实"
rt.Cells(24,0).VertSplitBehavior = prt.CellSplitBehaviorEnum.Copy
rt.Cells(24,1).Text = "序号"
rt.Cells(24,2).Text = "日期"
rt.cells(24,3).SpanCols = 8
rt.Cells(24,3).Text = "时间,地点,检查内容"
rt.Style.TextAlignHorz = prt.AlignHorzEnum.center '所有文本内容靠右对齐
rt.cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.left '唯独第一列内容居中
rt.cells(2,2).Style.TextAlignHorz = prt.AlignHorzEnum.center '唯独第一列内容居中
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '垂直居中
Dim name As String = "窦东东"
Dim dt As DataTable = DataTables("机关干部履职情况")
Dim i As Integer = 25
For Each rq As Date In dt.GetValues("日期", "(检查人1 like '%" & name  & "%' or 检查人3 like '%" & name  & "%') and 日期 is not null")
    Dim arys As List(Of String()) = dt.GetValues("检查地点|开始时间|结束时间", "日期 = #" & rq & "# and 检查人1 like '%" & name & "%'")
    Dim str As String = ""
    For Each ary As String() In arys
        str &= format(cDate(ary(1)), "HH:mm") & "-" & format(cDate(ary(2)), "HH:mm") & ary(0) & ";"
    Next
    rt.cells(i, 3).SpanCols = 8
    rt.Cells(i, 1).text = i - 24
    rt.Cells(i, 2).text = format(rq,"MM-dd")
    rt.Cells(i, 3).text = str
    i += 1
Next
rt.Cells(i,1).Text = "当月发现违章违纪件数"
rt.cells(i,1).SpanCols = 5
rt.Cells(i,6).Text = ""
rt.cells(i,6).SpanCols = 5
i+=1
rt.Cells(i,1).Text = "日期"
rt.Cells(i,2).Text = "发现两违内容"
rt.cells(i,2).SpanCols = 3
rt.Cells(i,5).Text = "性质"
rt.Cells(i,6).Text = "日期"
rt.Cells(i,7).Text = "发现两违内容"
rt.cells(i,7).SpanCols = 3
rt.Cells(i,10).Text = "性质"

Dim drs As List(Of DataRow) = DataTables("机关干部履职情况").Select("(检查人1 like '%" & name  & "%' or 检查人3 like '%" & name  & "%') and 违章违纪概况 Is not Null", "日期")
Dim right As Boolean = True
For j As Integer = 0 To drs.Count - 1
    If right Then       
                i += 1
        rt.Cells(i,1).Text = format(drs(j)("日期"), "MM-dd")
        rt.Cells(i,2).Text = drs(j)("违章违纪概况")
        rt.cells(i,2).SpanCols = 3
        rt.Cells(i,5).Text = drs(j)("违章性质")
        right = False
    Else     
        rt.Cells(i,6).Text = format(drs(j)("日期"), "MM-dd")
        rt.Cells(i,7).Text = drs(j)("违章违纪概况")
        rt.cells(i,7).SpanCols = 3
        rt.Cells(i,10).Text = drs(j)("违章性质")
        right = True
    End If
Next

rt.Cells(24,0).SpanRows = i - 23

i += 1

rt.Cells(i,0).Text = "考核情况"
rt.Cells(i,0).SpanRows = 2
rt.Cells(i,1).Text = "自评得分"
rt.cells(i,1).SpanCols = 2
rt.Cells(i,3).Text = "本人签字"
rt.cells(i,3).SpanCols = 3
rt.Cells(i,6).Text = "考核意见"
rt.cells(i,6).SpanCols = 3
rt.Cells(i,9).Text = "考核得分"
rt.cells(i,9).SpanCols = 2
rt.cells(i+1,1).SpanCols = 2
rt.cells(i+1,3).SpanCols = 3
rt.cells(i+1,6).SpanCols = 3
rt.cells(i+1,9).SpanCols = 2


Doc.Preview() '预览报表


 回到顶部
美女呀,离线,留言给我吧!
34772849
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:69 积分:752 威望:0 精华:0 注册:2012/2/6 19:10:00
用包含代码存在的问题  发帖心情 Post By:2014/10/24 8:59:00 [只看该作者]

请教:我想生成李斌的考核表,但是考核表里生成的数据还包含李斌旭的数据,应如何解决?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生成考核表.zip

代码如下:红色的代码应如何改才能避免类似情况发生

Dim doc As New PrintDoc  '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中

rt.Style.GridLines.All = New prt.Linedef
rt.CellStyle.Spacing.All = 1
rt.RepeatGridLinesVert = True
rt.Cells(0,0).text = "安全科月度安全生产责任制考核表"
rt.Cells(0,0).SpanCols = 11
rt.Cells(0,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Cells(0,0).Style.Font = New Font("黑体", 18, FontStyle.Bold)
rt.Rows(0).Style.Borders.All = New prt.LineDef("0mm", Color.white)
rt.Cells(1,0).text = "姓名:李斌"
rt.Cells(1,0).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,3).text = "职务:" '通过左边空格数量来调整副标题位置
rt.Cells(1,3).SpanCols = 2 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,5).text = "包保单位:" '通过左边空格数量来调整副标题位置
rt.Cells(1,5).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,8).text =  Format(Date.Today(), "yyyy年MM月dd日")
rt.Cells(1,8).SpanCols = 3 '合并地二行全部单元格,用于显示副标题
rt.Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,3).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,5).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(1,8).Style.TextAlignHorz = prt.AlignHorzEnum.right
rt.cells(1,0).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,3).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,5).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,8).Style.Borders.All = New prt.LineDef("0mm", Color.white) '去掉第二行的网格线
rt.cells(1,0).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,3).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,5).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.cells(1,8).Style.Borders.Bottom = New prt.Linedef  '恢复第二行底端的网格线
rt.Cells(1,0).Style.Font = New Font("宋体", 12)
rt.Cells(1,3).Style.Font = New Font("宋体", 12)
rt.Cells(1,5).Style.Font = New Font("宋体", 12)
rt.Cells(1,8).Style.Font = New Font("宋体", 12)
rt.Rows(1).Height = 8 '设置第二行的高度,拉开和表格主体的距离.
'设置列标题
rt.Cols(0).Width = 15
rt.Cols(1).Width = 15
rt.Cols(2).Width = 15
rt.Cols(8).Width = 30
rt.Cols(9).Width = 15
Doc.PageSetting.LeftMargin = 20 '设置左边距
Doc.PageSetting.RightMargin = 20 '设置右边距
Doc.PageSetting.TopMargin = 20 '设置上边距
Doc.PageSetting.BottomMargin = 20 '设置下边距
rt.cells(2,2).SpanCols = 6
rt.cells(2,0).Text = "考核项目"  '设置第一行第一个单元格的内容
rt.Cells(2,1).Text = "序号"  '设置第一行第四个单元格的内容
rt.Cells(2,2).Text= "量化考核内容"
rt.Cells(2,8).Text = "扣分标准"
rt.Cells(2,9).Text = "完成情况"
rt.cells(2,9).SpanCols = 2
rt.cells(3,9).SpanCols = 2
rt.cells(4,9).SpanCols = 2
rt.cells(5,9).SpanCols = 2
rt.cells(6,9).SpanCols = 2
rt.cells(7,9).SpanCols = 2
rt.cells(8,9).SpanCols = 2
rt.cells(9,9).SpanCols = 2
rt.cells(10,9).SpanCols = 2
rt.cells(11,9).SpanCols = 2
rt.cells(12,9).SpanCols = 2
rt.cells(13,9).SpanCols = 2
rt.cells(14,9).SpanCols = 2
rt.cells(15,9).SpanCols = 2
rt.cells(16,9).SpanCols = 2
rt.cells(17,9).SpanCols = 2
rt.cells(18,9).SpanCols = 2
rt.cells(19,9).SpanCols = 2
rt.cells(20,9).SpanCols = 2
rt.cells(21,9).SpanCols = 2
rt.cells(22,9).SpanCols = 2
rt.cells(23,9).SpanCols = 2
rt.Cells(3,0).SpanRows = 16 '第1行第5个单元格向下合并6行
rt.Cells(3,0).Text= "履行职责"
rt.Cells(3,1).Text = "1"
rt.cells(3,2).SpanCols = 6
rt.Cells(3,2).Text = "日常要深入车间(中间站),加强对职工的业务指导,解决生产中的技术难题 ,提高全站安全管理水平。每2月对管内各站、车间覆盖检查一遍,南三小站每月最少到1站。"
rt.Cells(3,8).Text = "未落实扣5分"
rt.Cells(4,1).Text = "2"
rt.cells(4,2).SpanCols = 6
rt.Cells(4,2).Text = "每月下现场,对行车主要岗位巡视检查不得少于13天,其中:"
rt.Cells(4,8).Text = "每少1天扣5分"
rt.Cells(5,1).Text = "3"
rt.cells(5,2).SpanCols = 6
rt.Cells(5,2).Text = "前夜巡视不少于2天;"
rt.Cells(5,8).Text = "每少1天扣5分"
rt.Cells(6,1).Text = "4"
rt.cells(6,2).SpanCols = 6
rt.Cells(6,2).Text = "后半夜巡视不少于6天(0至2点、2至4点、4至6点各不少于2次);"
rt.Cells(6,8).Text = "每少1天扣5分"
rt.Cells(7,1).Text = "5"
rt.cells(7,2).SpanCols = 6
rt.Cells(7,2).Text = "每月到包保单位不少于4天(其中星期五、双休日不少于2天,);节假日到包 保单位,小长假不少于1天,大长假不少于2天。"
rt.Cells(7,8).Text = "每少1天扣5分"
rt.Cells(8,1).Text = "6"
rt.cells(8,2).SpanCols = 6
rt.Cells(8,2).Text = "发现违章、违纪,不少于6件。其中:"
rt.Cells(8,8).SpanRows = 3
rt.Cells(8,8).Text = "每少1件扣15分,少2件,扣30分,少3件,扣40分,"
rt.Cells(9,1).Text = "7"
rt.cells(9,2).SpanCols = 6
rt.Cells(9,2).Text = "现场违章、违纪,不少于4件;"
rt.Cells(10,1).Text = "8"
rt.cells(10,2).SpanCols = 6
rt.Cells(10,2).Text = "调车作业违章、违纪,不少于2件;"
rt.Cells(11,1).Text = "9"
rt.cells(11,2).SpanCols = 6
rt.Cells(11,2).Text = "每月发现包保单位违章不少于1件。"
rt.Cells(11,8).Text = "每少1件扣5分"
rt.Cells(12,1).Text = "10"
rt.cells(12,2).SpanCols = 6
rt.Cells(12,2).Text = "每月检查管内车站调车作业,不少于6批,其中监控切割正线调车,不少于2批 ;"
rt.Cells(12,8).Text = "每少1次扣2分"
rt.Cells(13,1).Text = "11"
rt.cells(13,2).SpanCols = 6
rt.Cells(13,2).Text = "每月利用监控设备、调听录音或现场接发列车标准执行情况不少于3次,每次 不少于5列(其中旅客列车2列);"
rt.Cells(13,8).Text = "每少1次扣2分"
rt.Cells(14,1).Text = "12"
rt.cells(14,2).SpanCols = 6
rt.Cells(14,2).Text = "每月对车辆防溜检查,不少于8次;"
rt.Cells(14,8).Text = "每少1次扣2分"
rt.Cells(15,1).Text = "13"
rt.cells(15,2).SpanCols = 6
rt.Cells(15,2).Text = "每月对专用线检查,不少于3次;"
rt.Cells(15,8).Text = "每少1次扣2分"
rt.Cells(16,1).Text = "14"
rt.cells(16,2).SpanCols = 6
rt.Cells(16,2).Text = "每月对装卸作业检查,不少于1次;"
rt.Cells(16,8).Text = "每少1次扣2分"
rt.Cells(17,1).Text = "15"
rt.cells(17,2).SpanCols = 6
rt.Cells(17,2).Text = "每月检查车机联控工作,不少于6次;"
rt.Cells(17,8).Text = "每少1次扣2分"
rt.Cells(18,1).Text = "16"
rt.cells(18,2).SpanCols = 6
rt.Cells(18,2).Text = "每月添乘机车检查接发列车情况不少于1次;"
rt.Cells(18,8).Text = "未落实,扣5分"
rt.Cells(19,0).SpanRows = 5 '第1行第5个单元格向下合并6行
rt.Cells(19,0).Text= "安全考核"
rt.Cells(19,1).Text = "17"
rt.cells(19,2).SpanCols = 6
rt.Cells(19,2).Text = "当月包保单位被路局下发的《安全预警通知书》"
rt.Cells(19,8).Text = "每件扣15分"
rt.Cells(20,1).Text = "18"
rt.cells(20,2).SpanCols = 6
rt.Cells(20,2).Text = "当月包保单位被路局对话会通报批评"
rt.Cells(20,8).Text = "每次扣10分"
rt.Cells(21,1).Text = "19"
rt.cells(21,2).SpanCols = 6
rt.Cells(21,2).Text = "当月包保单位被路局下发的《安全监察通知书》"
rt.Cells(21,8).Text = "每次扣5分"
rt.Cells(22,1).Text = "20"
rt.cells(22,2).SpanCols = 6
rt.Cells(22,2).Text = "当月包保单位被车站安全预警,督办通报"
rt.Cells(22,8).Text = "每次扣5分"
rt.Cells(23,1).Text = "21"
rt.cells(23,2).SpanCols = 6
rt.Cells(23,2).Text = "当月包保单位安全评估小组最后一名"
rt.Cells(23,8).Text = "每次扣5分"
Dim rx As New prt.RenderText
rt.Style.GridLines.All = New prt.Linedef(Color.Gray)
rt.CellStyle.Spacing.All = 1
rt.Cells(24,0).Text= "工作写实"
rt.Cells(24,0).VertSplitBehavior = prt.CellSplitBehaviorEnum.Copy
rt.Cells(24,1).Text = "序号"
rt.Cells(24,2).Text = "日期"
rt.cells(24,3).SpanCols = 8
rt.Cells(24,3).Text = "时间,地点,检查内容"
rt.Style.TextAlignHorz = prt.AlignHorzEnum.center '所有文本内容靠右对齐
rt.cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.left '唯独第一列内容居中
rt.cells(2,2).Style.TextAlignHorz = prt.AlignHorzEnum.center '唯独第一列内容居中
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '垂直居中
Dim name As String = "李斌"
Dim dt As DataTable = DataTables("机关干部履职情况")
Dim i As Integer = 25
For Each rq As Date In dt.GetValues("日期", "(检查人1 like '%" & name  & "%' or 检查人3 like '%" & name  & "%') and 日期 is not null")
    Dim arys As List(Of String()) = dt.GetValues("检查地点|开始时间|结束时间", "日期 = #" & rq & "# and 检查人1 like '%" & name & "%'")
    Dim str As String = ""
    For Each ary As String() In arys
        str &= format(cDate(ary(1)), "HH:mm") & "-" & format(cDate(ary(2)), "HH:mm") & ary(0) & ";"
    Next
    rt.cells(i, 3).SpanCols = 8
    rt.Cells(i, 1).text = i - 24
    rt.Cells(i, 2).text = format(rq,"MM-dd")
    rt.Cells(i, 3).text = str
    i += 1
Next
rt.Cells(i,1).Text = "当月发现违章违纪件数"
rt.cells(i,1).SpanCols = 5
rt.Cells(i,6).Text = ""
rt.cells(i,6).SpanCols = 5
i+=1
rt.Cells(i,1).Text = "日期"
rt.Cells(i,2).Text = "发现两违内容"
rt.cells(i,2).SpanCols = 3
rt.Cells(i,5).Text = "性质"
rt.Cells(i,6).Text = "日期"
rt.Cells(i,7).Text = "发现两违内容"
rt.cells(i,7).SpanCols = 3
rt.Cells(i,10).Text = "性质"

Dim drs As List(Of DataRow) = DataTables("机关干部履职情况").Select("(检查人1 like '%" & name  & "%' or 检查人3 like '%" & name  & "%') and 违章违纪概况 Is not Null", "日期")
Dim right As Boolean = True
For j As Integer = 0 To drs.Count - 1
    If right Then       
                i += 1
        rt.Cells(i,1).Text = format(drs(j)("日期"), "MM-dd")
        rt.Cells(i,2).Text = drs(j)("违章违纪概况")
        rt.cells(i,2).SpanCols = 3
        rt.Cells(i,5).Text = drs(j)("违章性质")
        right = False
    Else     
        rt.Cells(i,6).Text = format(drs(j)("日期"), "MM-dd")
        rt.Cells(i,7).Text = drs(j)("违章违纪概况")
        rt.cells(i,7).SpanCols = 3
        rt.Cells(i,10).Text = drs(j)("违章性质")
        right = True
    End If
Next

rt.Cells(24,0).SpanRows = i - 23

i += 1

rt.Cells(i,0).Text = "考核情况"
rt.Cells(i,0).SpanRows = 2
rt.Cells(i,1).Text = "自评得分"
rt.cells(i,1).SpanCols = 2
rt.Cells(i,3).Text = "本人签字"
rt.cells(i,3).SpanCols = 3
rt.Cells(i,6).Text = "考核意见"
rt.cells(i,6).SpanCols = 3
rt.Cells(i,9).Text = "考核得分"
rt.cells(i,9).SpanCols = 2
rt.cells(i+1,1).SpanCols = 2
rt.cells(i+1,3).SpanCols = 3
rt.cells(i+1,6).SpanCols = 3
rt.cells(i+1,9).SpanCols = 2


Doc.Preview() '预览报表


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/24 9:07:00 [只看该作者]

 参考,判断要改,比如

 

"检查人1 like '%" & name  & "%' "

 

 要改成

 

"检查人1 = '" & name  & "'  or 检查人1 like '" & name & ",%' or 检查人1 like '%," & name & ",%' or 检查人1 like '%," & name & "'"


 回到顶部
总数 29 上一页 1 2 3 下一页