Foxtable(狐表)用户栏目专家坐堂 → Dim rxD As New prt.RenderText


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

主题:Dim rxD As New prt.RenderText

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
Dim rxD As New prt.RenderText  发帖心情 Post By:2022/11/30 7:28:00 [显示全部帖子]

For c As Integer = 1 To 50
      Dim rxD As String
      rxD = rxD & cD
      Dim rxD As New prt.RenderText '定义一个文本对象 
Next 
上述代码我希望每次循环时,红色的 rxD 那里是不断变化的,比如从 rxD1 一直变到 rxD50,但是执行时出现提示:当前块中已声明了局部变量 rxD。请问要怎样修改呢?谢谢。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/11/30 14:11:00 [显示全部帖子]

2楼的方法行得通。谢谢。


图片点击可在新窗口打开查看此主题相关图片如下:图片1.jpg
图片点击可在新窗口打开查看

上图是一个报表。我希望将上面那个图变成下面那个图,即把月份那行同月份的列进行合并。是不是可以在数据表里面计算出10有多少个,11月有多少个,12月有多少个,这样就可以在报表里面进行合并。但是不知道在数据表里面如何计算每个月有多少列数。谢谢。


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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/11/30 16:44:00 [显示全部帖子]

        If r = 2 Then 
            Dim cyc As Integer = cr1("计划制作周期") + 1
            Dim a As String = rt.Cells(2, 12).text
            Dim m As Integer = 0
            For i As Integer = 1 To cyc
                If rt.Cells(0, i + 12).text = a Then
                Else
                    msgbox("a=" & a & "值开始列=" & m & ",结束列=" & (i - 1))
                    rt.Cells(2, m + 12).SpanCols = i - m '合并单元格
                    m = i
                    a = rt.Cells(2, i + 12).text
                End If
             Next
        End If

上面是我的代码。无论 rt.Cells(0, i + 12).text 是否等于 a,上面红色的代码都会执行(msgbox显示的值是正确的),但是蓝色那行代码却不会执行,即不会合并单元格。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/11/30 17:15:00 [显示全部帖子]

它不是excel 档案, 是pdf格式的。 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:模具项目进度表.rar



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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/12/1 7:40:00 [显示全部帖子]

找到原因了,是下面那句的行号搞错了:那个红色的0应为2。
If rt.Cells(0, i + 12).text = a Then

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/12/1 11:52:00 [显示全部帖子]

    '开始加斜线
    Dim ra As prt.RenderArea
    ra = rt.Cells(2, 9).Area 
    Dim ln As New prt.RenderLine(0, 0, 1, 1, New prt.Linedef) '定义一个线条
    ln.Width = "Parent.Width" '加斜线之后再加文字
    ln.Height = "Parent.Width" '加斜线之后再加文字
    ra.Children.Add(ln)
    
    Dim rx5 As New prt.RenderText '定义一个文本对象   
    rx5.Text = "时间"
    rx5.X = "Parent.Width - 15"
    rx5.y = "5"
    ra.Children.Add(rx5)
    'doc.Body.Children.Add(rt)
    '结束加斜线
上面代码是希望在 第2-4行和第3-9列这个大方框里面加斜线和问题,但是好像没有效果,线条加不上,文字也加不上。另外,上面红色那行只是表达了一个cell,不知道怎样把这个大方框表达出来。谢谢。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/12/1 13:36:00 [显示全部帖子]

Dim Line As New prt.LineDef(2, Color.Red)
Dim ln As New prt.RenderLine(20,20, 80, 80, Line)

上面是把一条线条进行定位(20,20, 80, 80)的方法,如果是一个文本对象,要怎样进行定位呢?

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/12/1 15:19:00 [显示全部帖子]

谢谢。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/12/3 8:48:00 [显示全部帖子]

Select Case e.DataCol.name 
    Case "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11"
        Dim ary() As String = {"D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11"}
        If array.Indexof(ary, e.DataCol.name) >= 0 Then
        Dim sum2 As Integer = 0
        For Each c As String In ary
            If e.DataRow("计划实际") = "实际" Then
                If e.DataRow(c) = "F" Then
                    Dim Index As Integer
                    Index = Tables("模具项目进度").FindRow(e.DataRow) '找出此行在数据Table中的位置
                    If Index > -1 Then '如果找到此行
                        e.DataRow("合计") = Tables("模具项目进度").Rows(index - 1)("合计") '输入上一行的数据
                    End If
                    Exit For
                Elseif e.DataRow(c) = "f" Then
                    sum2 = sum2 + 1
                    e.DataRow("合计") = sum2 
                   ' Continue For
                End If
            End If
        Next
        End If
End Select

 上面的代码我是希望统计某一行含有多少个 f ,如果碰到了 F,就退出统计。现在,如果碰到了F就退出统计这个目的是达到了,但是统计f个数却没有效果(无论我是否加 Continue For 这行)。请教是哪里的问题呢?谢谢。

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/12/3 13:00:00 [显示全部帖子]

上面代码运行后,无论是否有 F 或者 f ,e.DataRow("合计") 的结果都是 0。所以还是有问题。

 回到顶部
总数 13 1 2 下一页