以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  连续打印的多选  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=181073)

--  作者:15666282205
--  发布时间:2022/10/22 17:14:00
--  连续打印的多选
老师,连续打印资料卡的时候,多选是通过按住鼠标多选,而且是连续的行,我想实现加一列逻辑列“选择”,随机间隔选中的行连续打印,请您指教。下面的代码是用鼠标多选的
Dim doc As New PrintDoc \'定义一个报表
Dim tbl As Table = Tables("员工")

下面的是关键,改成自动选择选中的行
For i As Integer = tbl.TopRow To tbl.BottomRow

--  作者:有点蓝
--  发布时间:2022/10/22 17:37:00
--  
Dim doc As New PrintDoc 
Dim drs As list(Of DataRow) = DataTables("员工").select("选择=true")
For i As Integer = 0 To drs.count - 1
    Dim rw As DataRow = drs(i)

--  作者:15666282205
--  发布时间:2022/10/24 8:41:00
--  

老师,上面的代码可以,谢谢。遇到了另一个问题,设计员工资料卡的时候,"rx.text"的字体可以设置,但是表格里面的“姓名”等的字体设置没找到帮助,有办法设置吗?

Dim doc As New PrintDoc \'定义一个报表
Dim
rt As New prt.RenderTable() \'定义一个表格对象
Dim
rx As New prt.RenderText \'定义一个文本对象
Dim
CurRow As Row = Tables("员工").Current
\'加入标题

rx.text =
"员工资料卡"
rx.Style.FontBold =
True \'字体加粗
rx.Style.FontSize =
16 \'大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center
\'水平居中排列
rx.Style.Spacing.Bottom =
3 \'和下面的对象(表格)距离3毫米
doc.Body.Children.Add(rx)
\'加入到报表中
\'指定行数、列数、列宽、行高

rt.Rows.Count =
7 \'设置总行数
rt.Cols.Count =
5 \'设置总列数
rt.Height =
80 \'设置表格的高度为80毫米
rt.Rows(
6).Height = 40 \'设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
rt.Cols(
0).Width = 24 \'设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
rt.Cols(
1).Width = 35
rt.Cols(
2).Width = 24
rt.Cols(
3).Width = 40
\'设置合并单元格

rt.Cells(
0,4).SpanRows = 6 \'第1行第5个单元格向下合并6行(用于显示照片)
rt.Cells(
4,1).SpanCols = 3 \'第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(
6,0).SpanCols = 5 \'第7行第1个单元格向右合并5列(用于显示备注)
\'设置表格样式

rt.CellStyle.Spacing.All =
1 \'单元格内容缩进1毫米
rt.Style.GridLines.All = New prt.Linedef
\'设置网格线
rt.Style.TextAlignVert = prt.AlignVertEnum.Center
\'内容垂直居中
rt.Rows(
6).Style.TextAlignVert = prt.AlignVertEnum.Top \'唯独第7行是备注,内容靠上对齐
\'下面很简单,指定每一个单元格的内容

rt.Cells(
0,0).Text= "姓名"
rt.Cells(
0,1).Text = CurRow("姓名")
rt.Cells(
0,2).Text= "出生日期"
rt.Cells(
0,3).Text = CurRow("出生日期")


--  作者:有点蓝
--  发布时间:2022/10/24 8:45:00
--  
http://www.foxtable.com/webhelp/topics/1179.htm
--  作者:15666282205
--  发布时间:2022/10/24 10:17:00
--  
老师,这是设计表格以外的字体,现在需要设计表格的单元格内的字体。
--  作者:有点蓝
--  发布时间:2022/10/24 10:27:00
--  
样式的用法都一样的

rt.Cells(1, 2).Style.Font  = ......

--  作者:15666282205
--  发布时间:2022/10/24 14:01:00
--  
老师,还有一个问题,生成打印页面的时候,页边距默认25.4,四周都是,太宽了,需要人工调整,可以把默认的修改了吗?
--  作者:有点蓝
--  发布时间:2022/10/24 14:10:00
--  
http://www.foxtable.com/webhelp/topics/1192.htm
--  作者:15666282205
--  发布时间:2022/10/25 14:06:00
--  
谢谢老师,解决了