以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  【table复选】如何实现√的部分才打印呢?不勾的部分就不要打印?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109316)

--  作者:李孝春
--  发布时间:2017/11/9 13:27:00
--  【table复选】如何实现√的部分才打印呢?不勾的部分就不要打印?
【table复选】如何实现√的部分才筛选呢?不勾的部分就不要筛选?

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

当前代码如下:
If Tables("涉案款物").Current IsNot Nothing Then
    If Tables("涉案款物").Current.Checked = True Then
        Tables("款物明细").Filter = "案件编号 = \'" & Tables("涉案款物").Current("案件编号") & "\'"
    End If
End If

上述代码运行会将当前表所有符合条件数据筛选出来  而不是打勾部分筛选出来?

麻烦老师们多多指导 谢谢!
[此贴子已经被作者于2017/11/9 13:29:37编辑过]

--  作者:有点甜
--  发布时间:2017/11/9 15:02:00
--  

 1、逻辑是什么?上传具体实例说明。

 

 2、参考代码

 

Dim t As Table = Tables("涉案款物")
Dim idxs As String = ""
For Each r As Row In t.GetCheckedRows
    idxs &= "\'" & r("编号") & "\',"
next
msgbox(idxs.trim(","))

 

 


--  作者:李孝春
--  发布时间:2017/11/9 17:02:00
--  回复:(有点甜)?1、逻辑是什么?上传具体实例说...
就是想实现案件款物表的复选框被选中的  在打印二维码预览的时候 全部二维码预览出来  没有选择的二维码就不要预览了

下面是我现在写的按钮代码  但是不能实现效果
If Tables("涉案款物").Current IsNot Nothing Then
    
    If Tables("涉案款物").Current.Checked = True Then
        Tables("款物明细").Filter = "案件编号 = \'" & Tables("涉案款物").Current("案件编号") & "\'"
        Dim doc As New PrintDoc
        Dim rg As prt.RenderGraphics
        Dim Bar As New BarCodeBuilder
        Dim dr As Row=Tables("打印机").Current
        doc.PageSetting.Width = val(dr("设置宽度"))
        doc.PageSetting.Height = val(dr("设置高度") )
        doc.PageSetting.LeftMargin=val(dr("左边距") )
        doc.PageSetting.RightMargin=val(dr("右边距") )
        doc.PageSetting.TopMargin=val(dr("上边距") )
        doc.PageSetting.BottomMargin=val(dr("下边距") )
        Doc.PrinterName = dr("打印机名称")
        doc.AutoRotate = dr("是否旋转")
        doc.PageSetting.Landscape=dr("是否横向")
        Bar.Symbology = Barpro.Symbology.QRCode
        Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
        For Each r As Row In Tables("款物明细").Rows
            bar.Text=r("款物序号") & "号款物"
            bar.Code = r("加密字符")
            rg = new prt.RenderGraphics
            bar.DrawOnCanvas(rg.Graphics,0,0, val(dr("缩放比例") ))
            rg.Style.Spacing.All = 1
            Doc.Body.Children.Add(rg)
            bar.SaveImage(ProjectPath & "Reports\\款物二维码\\" & r("案件编号") & r("款物序号") & "二维码.jpg")
            r("二维码")=ProjectPath & "Reports\\款物二维码\\" & r("案件编号") & r("款物序号") & "二维码.jpg"
            r.DataRow.SQLInsertFile("图片",ProjectPath & "Reports\\款物二维码\\" & r("案件编号") & r("款物序号") & "二维码.jpg")
            r.Save

        Next
        Dim r1 As WinForm.RadioButton = e.Form.Controls("RadioButton1")
        Dim r2 As WinForm.RadioButton = e.Form.Controls("RadioButton2")
        If r1.Checked=True Then
            Doc.Preview()
        Else
            If r2.Checked=True Then
                Doc.Print()
            Else
                MessageBox.Show("请选择预览或者直打!")
            End If
        End If
    End If
End If
[此贴子已经被作者于2017/11/9 17:04:24编辑过]

--  作者:cd_tdh
--  发布时间:2017/11/9 17:40:00
--  
打印前调用以下代码

Dim ids As new List(of String)
For Each r As Row In Tables("表A").GetCheckedRows
    ids.Add(r("_Identify"))
Next

--  作者:有点甜
--  发布时间:2017/11/9 18:34:00
--  

你想控制这个查询条件?

 

Tables("款物明细").Filter = "案件编号 = \'" & Tables("涉案款物").Current("案件编号") & "\'"

 

查询条件是什么?逻辑是什么?根据哪个列查询?


--  作者:李孝春
--  发布时间:2017/11/11 12:36:00
--  回复:(有点甜)你想控制这个查询条件? Ta...
Dim rs As List(of Row) = Tables("卷宗入库").GetCheckedRows
If rs.Count > 0 Then \'如果存在符合条件的行
    Dim doc As New PrintDoc \'定义一个报表
    For Each r As Row In rs
        doc.……‘这个部分的代码怎么写?才能实现卷宗入库被选中的行按照行打印数据呢?’
    Next
    Dim Rows As List(Of DataRow)
    Dim CurRow As Row = Tables("卷宗入库").Current
    
    Dim bg As New prt.RenderTable() \'定义一个表格对象
    
    bg.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型
    bg.CellStyle.Spacing.All = 1 \'内容距离网格线1毫米
    bg.Width = 160 \'表宽为150毫米
    bg.Height = 50 \'表高为150毫米
    bg.Rows.Count = 6 \'设置行数
    bg.Cols.Count = 6 \'设置列数
    bg.Cells(0,0).text = "贵州省瓮安县人民检察院"
    bg.Cells(0,0).SpanCols = 6 \'合并第一行全部单元格,用于显示主标题
    bg.Cells(0,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'主标题居中
    bg.Cells(0,0).Style.Font = New Font("宋体", 16, FontStyle.Bold) \'设置主标题字体
    bg.Rows(0).Style.Borders.All = New prt.LineDef("0mm", Color.white) \'去掉第一行的网格线
    \'设置副标题
    bg.Cells(1,0).text = "涉案卷宗及财物二维码管理系统" \'通过左边空格数量来调整副标题位置
    bg.Cells(1,0).SpanCols = 6 \'合并地二行全部单元格,用于显示副标题
    bg.Cells(1,0).Style.Font = New Font("宋体", 16, FontStyle.Bold) \'设置主标题字体
    bg.Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'副标题内容居中
    bg.Rows(1).Style.Borders.All = New prt.LineDef("0mm", Color.white) \'去掉第二行的网格线
    bg.Rows(1).Style.Borders.Bottom = New prt.Linedef  \'恢复第二行底端的网格线
    bg.Rows(1).Height = 8 \'设置第二行的高度,拉开和表格主体的距离.
    \'设置列标题
    
    bg.Cells(2,0).text = "基本信息" \'通过左边空格数量来调整副标题位置
    bg.Cells(2,0).SpanCols = 3 \'合并地二行全部单元格,用于显示副标题
    bg.Cells(2,0).Style.Font = New Font("宋体", 10, FontStyle.Bold) \'设置主标题字体
    bg.Cells(2,0).Style.TextAlignHorz = prt.AlignHorzEnum.left \'副标题内容居中
    bg.Cells(2,3).text = "卷宗编号"
    bg.Cells(2,3).Style.TextAlignHorz = prt.AlignHorzEnum.right \'副标题内容居中
    bg.Cells(2,4).text = currow("卷宗编号")  \'通过左边空格数量来调整副标题位置
    bg.Cells(2,4).SpanCols = 2 \'合并地二行全部单元格,用于显示副标题
    bg.Cells(2,4).Style.Font = New Font("宋体", 10, FontStyle.Bold) \'设置主标题字体
    bg.Cells(2,4).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'副标题内容居中
    
    bg.Rows(2).Style.Borders.All = New prt.LineDef("0mm", Color.white) \'去掉第二行的网格线
    bg.cells(2,0).Style.Borders.All = New prt.LineDef("0mm", Color.white) \'去掉第二行的网格线
    bg.cells(2,3).Style.Borders.All = New prt.LineDef("0mm", Color.white) \'去掉第二行的网格线
    bg.cells(2,3).Style.Borders.Bottom = New prt.Linedef  \'恢复第二行底端的网格线
    bg.cells(2,0).Style.Borders.Bottom = New prt.Linedef  \'恢复第二行底端的网格线
    bg.Rows(2).Style.Borders.Bottom = New prt.Linedef  \'恢复第二行底端的网格线
    bg.Rows(2).Height = 8 \'设置第二行的高度,拉开和表格主体的距离.
    \'设置列标题
    bg.Cols(0).Width = 20
    bg.Cols(1).Width = 45
    bg.Cols(2).Width = 20
    bg.Cols(3).Width = 45
    bg.Cols(4).Width = 20
    bg.Cols(5).Width = 20
    bg.Rows.Count = 4
    bg.Rows(0).Height = 15
    bg.Rows(1).Height = 15
    bg.Rows(2).Height = 10
    bg.Rows(3).Height = 10
    bg.Rows(4).Height = 10
    bg.Rows(5).Height = 10
    bg.Rows(6).Height = 10
    bg.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'所有文本内容居中\'
    bg.Cells(3,0).Text = "所属地州"
    bg.Cells(3,1).Text = CurRow("所属地州")
    bg.Cells(3,2).Text = "卷宗名称"
    bg.Cells(3,3).Text = CurRow("卷宗名称")
    bg.Cells(3,4).Text = "涉案款物"
    bg.Cells(3,5).Text = CurRow("涉案款物")
    
    bg.Cells(4,0).Text = "所属单位"
    bg.Cells(4,1).Text = CurRow("所属单位")
    bg.Cells(4,2).Text = "卷宗册数"
    bg.Cells(4,3).Text = CurRow("卷宗册数")
    bg.Cells(4,4).Text = "款物数量"
    \'bg.Cells(4,5).Text = ndr("款物数量")
    bg.Cells(5,0).Text = "承办部门"
    bg.Cells(5,1).Text = CurRow("承办部门")
    bg.Cells(5,2).Text = "承办人员"
    bg.Cells(5,3).Text = CurRow("承办人")
    bg.Cells(5,4).Text = "使用人员"
    bg.Cells(5,5).Text = CurRow("使用人")
    bg.Cells(6,0).Text = "录入时间"
    bg.Cells(6,1).Text = CurRow("录入时间")
    bg.Cells(6,2).Text = "联系电话"
    bg.Cells(6,3).Text = CurRow("联系电话")
    bg.Cells(6,4).Text = "办理状态"
    bg.Cells(6,5).Text = CurRow("办理状态")
    doc.Body.Children.Add(bg)
    
    
    Dim r1 As WinForm.RadioButton = e.Form.Controls("RadioButton1")
    Dim r2 As WinForm.RadioButton = e.Form.Controls("RadioButton2")
    If r1.Checked=True Then
        Doc.Preview()
    Else
        If r2.Checked=True Then
            Doc.Print()
        Else
            MessageBox.Show("请选择预览或者直打!")
        End If
    End If
End If

--  作者:有点蓝
--  发布时间:2017/11/11 14:49:00
--  
红色的代码和选中没有任何关系,按照你原来的代码直接写打印代码即可

选中控制已经在前面控制好了

--  作者:李孝春
--  发布时间:2017/11/11 14:52:00
--  回复:(有点蓝)红色的代码和选中没有任何关系,按照...
谢谢有点甜老师提醒 谢谢

[此贴子已经被作者于2017/11/11 14:54:21编辑过]