以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自动调整最下方的一行的高度,以适用表高的代码应该怎么写? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=134857) |
-- 作者:fengwenliuyan -- 发布时间:2019/5/10 15:47:00 -- 自动调整最下方的一行的高度,以适用表高的代码应该怎么写? 自动调整最后一列的宽度,以适用表宽的代码是: Tables("表A").ExtendLastCol = True 那么,求: 自动调整最下方的一行的高度,以适用表高的代码应该怎么写? |
-- 作者:有点甜 -- 发布时间:2019/5/10 16:04:00 -- 参考代码
Dim t = Tables("表A").grid If t.height > rsum Then |
-- 作者:fengwenliuyan -- 发布时间:2019/5/10 16:34:00 -- 此主题相关图片如下:11111111.png 最后一行补齐表高,这个已经ok了, 还有一个问题, 遇到同一批出库产品,需要出库编号相同的,打印3行,但一页却只能打得下一行, 剩余两页怎么做到:窗口中的除“表边框内的内容”以外的全部内容都与第一页相同, 也就是:每页只添加了剩余要打印的表边框内的内容? [此贴子已经被作者于2019/5/10 16:38:27编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/5/10 18:41:00 -- 比较麻烦,参考
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=96192&skin=0
|
-- 作者:fengwenliuyan -- 发布时间:2019/5/11 10:17:00 -- 回复:(有点甜)比较麻烦,参考 http://www... 已参考,您帮忙看下该怎么修改? |
-- 作者:有点蓝 -- 发布时间:2019/5/11 11:31:00 -- 把窗口表最大打印行数去掉 Dim fdr1 As DataRow = DataTables("意和打印记录表").Find("日期 >= #" & d1.Date & "# and 日期 < #" & d1.Date.adddays(1) & "#") if fdr1 isnot nothing then fdr1("次数") += 1 …… \'针式打印机的连进连出打印: e.Form.Page.LeftMargin = 0 \'设置左边距 e.Form.Page.RightMargin = 0 \'设置右边距 e.Form.Page.TopMargin = 0 \'设置上边距 e.Form.Page.BottomMargin = 0 \'设置下边距 Dim doc As PrintDoc = e.Form.GernatePrintDoc() doc.PageSetting.Width = 218 \'纸张宽度为218毫米 doc.PageSetting.Height = 94 \'纸张高度为94毫米 doc.AutoRotate = False \'如果纸张的宽度超过高度,要加上这行代码 Dim ndoc As new PrintDoc Dim ra_1 As new prt.RenderArea Dim ra_2 As new prt.RenderArea Dim ra_3 As new prt.RenderArea Dim flag As Boolean = False For Each c As object In Doc.Body.Children If c.Gettype.name Like "*RenderText*" Then If flag = False Then ra_1.Children.Add(c.Clone) Dim nrt = c.clone nrt.height = 0 ra_2.Children.Add(nrt) Else ra_2.Children.Add(c.clone) End If ElseIf c.Gettype.name Like "*RenderTable*" Then ra_3.Children.Add(c.Clone) Dim nrt = c.clone nrt.height = 0 ra_2.Children.Add(nrt) flag = True End If Next ndoc.Body.Children.Add(ra_3) nDoc.PageHeader = ra_1 \'作为页眉使用 ndoc.PageFooter = ra_2 ndoc.PageSetting.LeftMargin = 0 \'设置左边距 ndoc.PageSetting.RightMargin = 0 \'设置右边距 ndoc.PageSetting.TopMargin = 0 \'设置上边距 ndoc.PageSetting.BottomMargin = 0 \'设置下边距 ndoc.PageSetting.Width = 218 \'纸张宽度为218毫米 ndoc.PageSetting.Height = 94 \'纸张高度为94毫米 ndoc.AutoRotate = False \'如果纸张的宽度超过高度,要加上这行代码 ndoc.Preview() |
-- 作者:fengwenliuyan -- 发布时间:2019/5/11 13:52:00 -- 回复:(有点蓝)把窗口表最大打印行数去掉Dim fdr1 A... ndoc.Body.Children.Add(ra_3) nDoc.PageHeader = ra_1 \'作为页眉使用 nDoc.PageFooter = "第[PageNo]页,共[PageCount]页" ndoc.PageFooter = ra_2 ndoc.PageSetting.LeftMargin = 0 \'设置左边距 ndoc.PageSetting.RightMargin = 0 \'设置右边距 ndoc.PageSetting.TopMargin = 0 \'设置上边距 ndoc.PageSetting.BottomMargin = 0 \'设置下边距 ndoc.PageSetting.Width = 218 \'纸张宽度为218毫米 ndoc.PageSetting.Height = 94 \'纸张高度为94毫米 ndoc.AutoRotate = False \'如果纸张的宽度超过高度,要加上这行代码 ndoc.Preview() 不知道红色的这句应该怎么改?
|
-- 作者:fengwenliuyan -- 发布时间:2019/5/11 14:39:00 -- 求帮助 |
-- 作者:有点蓝 -- 发布时间:2019/5/11 14:56:00 -- …… ndoc.Body.Children.Add(ra_3) nDoc.PageHeader = ra_1 \'作为页眉使用 Dim rt = New prt.RenderText \'设置文本对象的内容 rt.Text = "第[PageNo]页,共[PageCount]页" \'设置文本内容 rt.Style.TextAlignHorz = prt.AlignHorzEnum.Right rt.Style.Padding.Bottom = 2 rt.Style.Padding.right= 10 rt.Y = "Prev.Bottom + 2" rt.Style.FontSize = 8 ra_2.Children.Add(rt) ndoc.PageFooter = ra_2 ndoc.PageSetting.LeftMargin = 0 \'设置左边距 ndoc.PageSetting.RightMargin = 0 \'设置右边距 ndoc.PageSetting.TopMargin = 0 \'设置上边距 ndoc.PageSetting.BottomMargin = 0 \'设置下边距 ndoc.PageSetting.Width = 218 \'纸张宽度为218毫米 ndoc.PageSetting.Height = 94 \'纸张高度为94毫米 ndoc.AutoRotate = False \'如果纸张的宽度超过高度,要加上这行代码 ndoc.Preview() |
-- 作者:fengwenliuyan -- 发布时间:2019/5/11 16:03:00 -- 回复:(有点蓝)……ndoc.Body.Children.Add(ra_3)nD... Dim d1 As Date = e.Form.Controls("出库日期").Text Dim fdr1 As DataRow = DataTables("意和打印记录表").Find("日期 >= #" & d1.Date & "# and 日期 < #" & d1.Date.adddays(1) & "#") If fdr1 IsNot Nothing Then fdr1("次数") += 1 For Each r As Row In Tables("意和打印窗口_出库明细表") r("出库编号") = e.Form.Controls("出库编号").Text r("出库日期") = e.Form.Controls("出库日期").value r("开票人") = e.Form.Controls("开票人").Text r("送货司机") = e.Form.Controls("送货司机").Text Next \'针式打印机的连进连出打印: e.Form.Page.LeftMargin = 0 \'设置左边距 e.Form.Page.RightMargin = 0 \'设置右边距 e.Form.Page.TopMargin = 0 \'设置上边距 e.Form.Page.BottomMargin = 0 \'设置下边距 Dim doc As PrintDoc = e.Form.GernatePrintDoc() doc.PageSetting.Width = 218 \'纸张宽度为218毫米 doc.PageSetting.Height = 94 \'纸张高度为94毫米 doc.AutoRotate = False \'如果纸张的宽度超过高度,要加上这行代码 Dim ndoc As new PrintDoc Dim ra_1 As new prt.RenderArea Dim ra_2 As new prt.RenderArea Dim ra_3 As new prt.RenderArea Dim flag As Boolean = False For Each c As object In Doc.Body.Children If c.Gettype.name Like "*RenderText*" Then If flag = False Then ra_1.Children.Add(c.Clone) Dim nrt = c.clone nrt.height = 0 ra_2.Children.Add(nrt) Else ra_2.Children.Add(c.clone) End If ElseIf c.Gettype.name Like "*RenderTable*" Then ra_3.Children.Add(c.Clone) Dim nrt = c.clone nrt.height = 0 ra_2.Children.Add(nrt) flag = True End If Next ndoc.Body.Children.Add(ra_3) nDoc.PageHeader = ra_1 \'作为页眉使用 Dim rt = New prt.RenderText \'设置文本对象的内容 rt.Text = "第[PageNo]页,共[PageCount]页" \'设置文本内容 rt.Style.TextAlignHorz = prt.AlignHorzEnum.Right rt.Style.Padding.Bottom = 2 rt.Style.Padding.right= 10 rt.Y = "Prev.Bottom + 2" rt.Style.FontSize = 8 ra_2.Children.Add(rt) ndoc.PageFooter = ra_2 ndoc.PageSetting.LeftMargin = 0 \'设置左边距 ndoc.PageSetting.RightMargin = 0 \'设置右边距 ndoc.PageSetting.TopMargin = 0 \'设置上边距 ndoc.PageSetting.BottomMargin = 0 \'设置下边距 ndoc.PageSetting.Width = 218 \'纸张宽度为218毫米 ndoc.PageSetting.Height = 94 \'纸张高度为94毫米 ndoc.AutoRotate = False \'如果纸张的宽度超过高度,要加上这行代码 ndoc.Preview() Dim fnt As New Font("黑体",9,FontStyle.Bold) CurrentTable.Font = fnt For Each dr1 As DataRow In DataTables("出库明细表").Select("[打印_意和] = true") If dr1 Is Nothing Then Return If dr1("出库已选_部分") = True Then dr1("打印_意和") = False dr1("状态_半开") = True dr1("出库已选_部分") = False ElseIf dr1("出库已选_全部") = True Then dr1("打印_意和") = False dr1("状态_全开") = True dr1("状态_半开") = False dr1("出库已选_全部") = False End If Next Forms("意和打印窗口").Close() Dim fnt1 As New Font("宋体",9,FontStyle.Regular) CurrentTable.Font = fnt1
|