Foxtable(狐表)用户栏目专家坐堂 → 专业报表里怎么添加筛选信息


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

主题:专业报表里怎么添加筛选信息

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
专业报表里怎么添加筛选信息  发帖心情 Post By:2013/10/27 19:45:00 [只看该作者]

 


此主题相关图片如下:??.png
按此在新窗口浏览图片

 

怎么在下面的信息里加上筛选条件(例如:筛选 接收单位为(ems)的数据

代码如下

 

 

DataTables("公斤数录入").deletefor("[公斤数] is Null")
DataTables("发货单号").deletefor("[客户名] is Null")
Dim doc As New PrintDoc
Dim rt As New prt.RenderTable()
e.Form.Page.PaperKind = 8
doc.PageSetting.Landscape = True '横向打印
Doc.PageSetting.LeftMargin = 5 '设置左边距
Doc.PageSetting.RightMargin = 5 '设置右边距
Doc.PageSetting.TopMargin = 10 '设置上边距
Doc.PageSetting.BottomMargin = 5 '设置下边距
Doc.PrinterName = "HP Officejet 6500 E710n-z"

Dim rx As New prt.RenderTable
rx.Cells(0,0).Text = Date.Today
rx.Cells(0,1).Text = "T R J  list"
rx.Cells(0,2).Text = "第[PageNo]页,共[PageCount]页"
rx.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.Left
rx.Cols(1).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rx.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.right
rx.Style.Borders.Bottom = New prt.LineDef '设置底边框
rx.CellStyle.Spacing.Bottom = 0.5 '底端内容缩进0.5毫米
rx.Style.FontSize = 15 '字体大小为8磅
Doc.PageHeader = rx '作为页眉使用


rt.Style.Font = New Font("宋体", 15 , FontStyle.Bold) '设置文本对象的字体

rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '垂直居中
 
rt.Style.Borders.All = New prt.Linedef(0, Color.Lavender) '设置边框
    rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中
    rt.Style.TextAlignVert = prt.AlignVertEnum.Center '垂直居中
   doc.Body.Children.Add(rt)
rt.Style.GridLines.All = New prt.Linedef


For i As Integer = Tables("发货单号1").TopPosition To Tables("发货单号1").BottomPosition
    Dim dr As DataRow  = Tables("发货单号1").Rows(i).DataRow
    Dim crs As List(of DataRow) = dr.GetChildRows("公斤数录入1")
      
If crs.count > 0 Then
        rt.Rows.Count = rt.Rows.count +1
        Dim st As Integer = rt.Rows.count - 1 '起始行位置
        Dim nt As Integer = st '当前行位置
        Dim cp As Integer = 4  '当前列位置
           '  rt.cells(st,0).text = dr("地区")
            ' rt.cells(st,1).text = dr("客户名")
             rt.cells(st,0).text = "地区"
             rt.cells(st,1).text = "客户名"
             rt.cells(st,2).text = "C/T"
             rt.cells(st,3).text = "Total"
             rt.cells(st,4).text = "重量1"
             rt.cells(st,5).text = "重量2"
             rt.cells(st,6).text = "重量3"
             rt.cells(st,7).text = "重量4"
             rt.cells(st,8).text = "重量5"
             rt.cells(st,9).text = "重量6"
             rt.cells(st,10).text = "重量7"
             rt.cells(st,11).text = "重量8"
             rt.cells(st,12).text = "重量9"
             rt.cells(st,13).text = "重量10"
             rt.cells(st,14).text = "电话1"
             rt.cells(st,15).text = "电话2"
             rt.cells(st,16).text = "发货地址"


            For n As Integer = 0 To crs.count - 1
            rt.cells(nt+1,cp).text = crs(n)("公斤数")
            rt.cells(nt+1,0).text =  dr("地区")
             rt.cells(nt+1,1).text =  dr("发货名")
             rt.cells(nt+1,2).text =  crs.count
             rt.cells(nt+1,14).text =  dr("联系方式1")            
             rt.cells(nt+1,15).text =  dr("联系方式2")
             rt.cells(nt+1,16).text =  dr("发货地址")

             rt.cells(nt+2,cp).text = crs(n)("饰品")
                ' rt.cells(st+3,0).text =dr("发货名")
             'rt.cells(nt+3,1).text =dr("联系方式1")
             'rt.cells(nt+3,2).text =dr("联系方式2")
             'rt.cells(nt+3,3).text =dr("发货地址")
             'rt.cells(st+1,7).text = crs.count
             'rt.cells(nt+4,0).text ="  "
        
            cp = cp + 1
            If cp = 7 Then
                cp=2
                nt = nt + 2
            End If
     Next 
'rt.Cells(nt+4,0).SpanCols = 8  
'rt.Cells(nt+3,1).SpanCols = 2
'rt.Cells(nt+3,3).SpanCols = 2
'rt.Cells(nt+3,5).SpanCols = 3
'rt.Cells(st+1,7).Spanrows = 2

rt.cells(nt+2,cp).Style.FontSize = 10 '字体大小为8磅

rt.cells(st,0).Style.BackColor = Color.Lavender
rt.cells(st,1).Style.BackColor = Color.Lavender
rt.cells(st,2).Style.BackColor = Color.Lavender
rt.cells(st,3).Style.BackColor = Color.Lavender
rt.cells(st,4).Style.BackColor = Color.Lavender
rt.cells(st,5).Style.BackColor = Color.Lavender
rt.cells(st,6).Style.BackColor = Color.Lavender
rt.cells(st,7).Style.BackColor = Color.Lavender

    End If
Next
doc.Preview() '预览报表
doc.SaveHtm("c:\data\sky.htm")


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


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

 你直接在循环里面判断不就行了?类似

For n As Integer = 0 To crs.count - 1
    if crs(n)("接收单") = "ems" then
            rt.cells(nt+1,cp).text = crs(n)("公斤数")


    end if
next

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
我对代码不是很感冒,能告知一下具体放在什么位置么  发帖心情 Post By:2013/10/28 4:43:00 [只看该作者]

我对代码不是很感冒,能告知一下具体放在什么位置么?谢谢~~~~~

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/28 8:22:00 [只看该作者]

For i As Integer = Tables("发货单号1").TopPosition To Tables("发货单号1").BottomPosition
    Dim dr As DataRow  = Tables("发货单号1").Rows(i).DataRow
    Dim crs As List(of DataRow) = dr.GetChildRows("公斤数录入1")

整段代码唯一的一个循环,还用问啊.

判断一下dr("接收单")="EMS"  即可

 回到顶部