Foxtable(狐表)用户栏目专家坐堂 → 专业报表取数与实际顺序不一致


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

主题:专业报表取数与实际顺序不一致

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
专业报表取数与实际顺序不一致  发帖心情 Post By:2016/2/21 16:57:00 [只看该作者]

Dim drs As List (of DataRow) = DataTables("账户明细").sqlselect(filter)
    For i As Integer = 0 To drs.Count-1
        rt.cells(i+1,0).text= drs(i)("账户户名")
        rt.cells(i+1,1).text= drs(i)("账户账号")
        rt.cells(i+1,2).text= drs(i)("账户卡号")
        rt.cells(i+1,3).text= drs(i)("开户行_简称")
        rt.Rows(i).Height = 10
    Next
    Doc.body.Children.Add(rt)

以上代码是专业报表中的一段代码,上述代码是想从账户明细中调取符合条件的账户并打印出来,但是上述代码打印出的顺序与账户明细中顺序不致,怎么修改能够让顺序一致呢?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/21 17:00:00 [只看该作者]

 

Dim drs As List (of DataRow) = DataTables("账户明细").sqlselect(filter, "_Sortkey")


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/21 17:04:00 [只看该作者]

把代码改成这个,打印出表就只有标题行了,不显示数据了

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/21 17:05:00 [只看该作者]

Dim drs As List (of DataRow) = DataTables("账户明细").sqlselect(filter, "排序列")


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/21 17:06:00 [只看该作者]

Dim Filter As String
With e.Form.Controls("是否调取")
    If .Value IsNot Nothing Then
        Filter = "是否调取 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("开户银行简称")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "开户银行_简称 = '" & .Value & "'"
    End If
End With
If Filter > "" Then
    Dim Doc As new PrintDoc()
    Dim rt As new prt.rendertable
    Dim rx As new prt.RenderText
    If e.Form.Controls("是否调取").text = "是" Then
        rx.style.Font = new font("宋体",16)
        rx.style.TextAlignHorz = prt.AlignHorzEnum.Center
        rx.Style.Spacing.Bottom = 3
        rx.text = "已调取的银行账户"
        Doc.body.Children.Add(rx)
    Else
        rx.style.Font = new font("宋体",16)
        rx.style.TextAlignHorz = prt.AlignHorzEnum.Center
        rx.Style.Spacing.Bottom = 3
        rx.text = "需要调取的银行账户"
        Doc.body.Children.Add(rx)
    End If
    doc.PageSetting.TopMargin = 15 '上边距25毫米
    doc.PageSetting.leftMargin = 10 '上边距25毫米
    rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center '唯独第一列内容居中
    rt.style.TextAlignVert = prt.AlignVertEnum.Center
    rt.style.Font = new font("宋体",12)
    rt.style.GridLines.all = new prt.LineDef
    rt.Cols.Count = 4
    rt.Cols(0).Width = 40
    rt.Cols(1).Width = 80
    rt.Cols(2).Width = 80
    rt.Cols(3).Width = 40
    rt.cells(0,0).text="账户户名"
    rt.cells(0,1).text="银行账号"
    rt.cells(0,2).text="银行卡号"
    rt.cells(0,3).text="开户银行"
    rt.RowGroups(0,1).Header = prt.TableHeaderEnum.All  '前四行作为表头
    Dim drs As List (of DataRow) = DataTables("账户明细").sqlselect(filter,"_Sortkey")
    For i As Integer = 0 To drs.Count-1
        rt.cells(i+1,0).text= drs(i)("账户户名")
        rt.cells(i+1,1).text= drs(i)("账户账号")
        rt.cells(i+1,2).text= drs(i)("账户卡号")
        rt.cells(i+1,3).text= drs(i)("开户行_简称")
        rt.Rows(i).Height = 10
    Next
    Doc.body.Children.Add(rt)
    rx = New prt.RenderText '设置文本对象的内容
    rx.Text = "第[PageNo]页,共[PageCount]页" '设置文本内容
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.Right '靠右对齐
    rx.Style.Borders.Bottom = New prt.LineDef(0.3, Color.Green) '设置底边框
    rx.Style.Padding.Bottom = 0.5 '底端内容缩进0.5毫米
    rx.Style.FontSize = 8 '字体大小为8磅
    Doc.Pagefooter = rx '作为页眉使用
   
    Doc.preview()
End If

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/21 17:06:00 [只看该作者]

上述代码是这个报表的全部代码

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/21 17:07:00 [只看该作者]

改成你自己的排序列啊,不然就写 _Identify

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/21 17:10:00 [只看该作者]

还是不行呀,我的排序列是序号,按序号也是,除了标题以下什么都没有了

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/21 17:11:00 [只看该作者]

哦,要这样写

 

Dim drs As List (of DataRow) = DataTables("账户明细").sqlselect(filter, "", "序号")

 


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/21 17:14:00 [只看该作者]

还是不行呀

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