以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 专业报表取数与实际顺序不一致 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81216) |
-- 作者:kaituozhe -- 发布时间:2016/2/21 16:57:00 -- 专业报表取数与实际顺序不一致 Dim drs As List (of DataRow) = DataTables("账户明细").sqlselect(filter) 以上代码是专业报表中的一段代码,上述代码是想从账户明细中调取符合条件的账户并打印出来,但是上述代码打印出的顺序与账户明细中顺序不致,怎么修改能够让顺序一致呢? |
-- 作者:大红袍 -- 发布时间:2016/2/21 17:00:00 --
Dim drs As List (of DataRow) = DataTables("账户明细").sqlselect(filter, "_Sortkey") |
-- 作者:kaituozhe -- 发布时间:2016/2/21 17:04:00 -- 把代码改成这个,打印出表就只有标题行了,不显示数据了
|
-- 作者:大红袍 -- 发布时间:2016/2/21 17:05:00 -- Dim drs As List (of DataRow) = DataTables("账户明细").sqlselect(filter, "排序列") |
-- 作者:kaituozhe -- 发布时间: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 -- 发布时间:2016/2/21 17:06:00 -- 上述代码是这个报表的全部代码 |
-- 作者:大红袍 -- 发布时间:2016/2/21 17:07:00 -- 改成你自己的排序列啊,不然就写 _Identify |
-- 作者:kaituozhe -- 发布时间:2016/2/21 17:10:00 -- 还是不行呀,我的排序列是序号,按序号也是,除了标题以下什么都没有了 |
-- 作者:大红袍 -- 发布时间:2016/2/21 17:11:00 -- 哦,要这样写 Dim drs As List (of DataRow) = DataTables("账户明细").sqlselect(filter, "", "序号")
|
-- 作者:kaituozhe -- 发布时间:2016/2/21 17:14:00 -- 还是不行呀 |