以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]数据行筛选问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124643)

--  作者:老鼠
--  发布时间:2018/9/11 11:00:00
--  [求助]数据行筛选问题


此主题相关图片如下:捕获.png
按此在新窗口浏览图片
数据表“生存认证”,其中有列[年度]与[归属时期]需要对进行筛选。

以下是现有窗口代码: 

 

窗口与控件事件

 

认证资料打印_Button1_Click

 

Dim nd As String = e.Form.Controls("ComboBox1").Text    \'定义认证年度

Dim sd As String = e.Form.Controls("ComboBox2").Text    \'定义归属时期

Dim Doc As New  PrintDoc          \'定义一个报表对象

Dim rt As prt.RenderText          \'定义一个文本对象

Dim rm As new  prt.RenderImage       \'定义一个图片对象

For Each r As DataRow In DataTables("生存认证").Select("年度 = \'" & nd & "\' or 归属时期 = \'" & sd & "\'")              \'条件定义图片

    rt = new prt.RenderText           \'确认定义一个文本对象

    rt.text = "生存认证资料_" &"姓名:" & r("姓名") & "    认证年度:" & r("年度") & "    归属时期:" & r("归属时期")   \'设置文本对象内容

    rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center                   \'设置文本对象水平居中

    rt.Style.Fontsize = 16        \'设置字体大小为16

    Doc.Body.Children.Add(rt)

    rm = new prt.RenderImage              \'确认定义一个图片对象

    rm.Width = "100%Parent"         \'设置图片尺寸为容器(页面)尺寸

    rm.Height = "85%Parent"

    rm.image = getimage(ProjectPath & "attachments/" & r("生存认证图片"))   \'设置图片

    rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center                \'图片居中显示

    rm.Style.Borders.All = new prt.LineDef(0.3,Color.red)           \'设置红色边框线

    rm.Style.Spacing.Bottom = 8         \'设置图片垂直对齐位置为靠底8mm

    rm.BreakAfter = prt.BreakEnum.Page

    Doc.Body.Children.Add(rm)      \'将图片对象加入报表

Next

Doc.Preview()        \'预览报表内容

 

认证资料打印_Button2_Click

 

Dim nd As String = e.Form.Controls("ComboBox1").Text

Dim sd As String = e.Form.Controls("ComboBox2").Text

DataTables("生存认证").GetComboListString("居民身份号码", "年度 = \'" & nd & "\' Or 归属时期 = \'" & sd & "\'").replace("|", "\',\'")

\'==========================以上是筛选已经认证的人员==============================

Dim Book As New XLS.Book(ProjectPath & "attachments\\生存认证表.xls")

Book.Build()

Book.Save(ProjectPath & "Reports\\生存认证表.xls")

Dim Proc As New Process

Proc.File = ProjectPath & "reports\\生存认证表.xls"

Proc.Start()

\'==============================以上是认证报表打印=================================

Tables("生存认证").Filter = ""

e.Form.Close

 

认证资料打印_Button3_Click

 

e.Form.Close

 

认证资料打印_ComboBox1_Enter

 

e.Sender.ComboList = DataTables("生存认证").GetComboListString("年度",,"_Identify")

 

认证资料打印_ComboBox1_TextChanged

 

Vars("ndz") = e.Sender.text

 

认证资料打印_ComboBox2_Enter

 

e.Sender.ComboList = DataTables("生存认证").GetComboListString("归属时期",,"_Identify")

 

认证资料打印_ComboBox2_TextChanged

 

Vars("sdz") = e.Sender.Text

 

请各位老师给予指正。

错误问题:1、无法筛选或筛选结果不对;2、报表打印报错;3、ComboBox2与ComboBox1是空值时,没有提示筛选条件不满足。


此主题相关图片如下:捕获1.png
按此在新窗口浏览图片

此主题相关图片如下:捕获2.png
按此在新窗口浏览图片
[此贴子已经被作者于2018/9/11 11:04:08编辑过]

--  作者:有点甜
--  发布时间:2018/9/11 11:25:00
--  

筛选条件,这样合成,如

 

http://www.foxtable.com/webhelp/scr/1058.htm

 

如果报错,做个实例发上来测试