找回密码
 立即注册

QQ登录

只需一步,快速开始

RamboX

中级会员

11

主题

14

帖子

947

积分

中级会员

积分
947

活字格认证

RamboX
中级会员   /  发表于:2012-10-26 17:35  /   查看:7027  /  回复:3
我通过VB.Net在代码中手动创建C1Report的直线,并用for循环给每根线条的top赋值,但是实际打印出来之后画出来的线条会出现上下浮动,但是top值依然都相等的,求助有什么解决办法否

3 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-10-26 17:58:00
沙发
回复 1楼RamboX的帖子

预览的时候情况如何?行为和打印出来一样吗?
根据你的描述,我无法重现问题。能否提供你的划线 Demo。
回复 使用道具 举报
RamboX
中级会员   /  发表于:2012-10-26 18:10:00
板凳
预览和打印的效果一致都是线会层次不齐,预览效果我截图成附件了,这是我预览全图中的一部分,出问题的地方我已圈出,循环画线的代码如下

For i As Integer = 1 To 8
            Dim temp As Integer
            If i = 1 Then
                temp = FieldNames.BodyLine1
            Else
                temp += 1
            End If
            addField = New Field
            addField.Name = _names(temp) + lineNo.ToString
            addField.Left = rp.Fields.Item(_names(temp)).Left
            addField.Top = rp.Fields.Item(_names(FieldNames.Body) + lineNo.ToString).Top
            addField.Width = rp.Fields.Item(_names(temp)).Width
            addField.Height = rp.Fields.Item(_names(temp)).Height
            addField.LineSlant = rp.Fields.Item(_names(temp)).LineSlant
            addField.BorderStyle = rp.Fields.Item(_names(temp)).BorderStyle
            addField.LineWidth = 20
            addField.ZOrder = 98
            rp.Sections.Detail.Fields.Add(addField)
Next

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-10-29 18:41:00
地板
回复 3楼RamboX的帖子

RamboX  你好,
不好意思,你的代码我无法使用,最好能发完整的 Demo 调试。
不过,如果楼主想实现交叉表,可以使用  CrossTab,具体做法可以参考随机安装 Demo:CrossTabC1PrintDoc
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部