以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助:从后台获取查询条件的,某列的值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101080) |
-- 作者:qwz405 -- 发布时间:2017/5/24 16:27:00 -- 求助:从后台获取查询条件的,某列的值 求助:老师,要获取符合条件的行的中的,某几列的数据,代码要怎么写? Dim dr As DataRow = DataTables("食堂菜单").SQLFind("日期 = \'"& dt &"\' and <列名 = ***> ") [此贴子已经被作者于2017/5/24 16:28:00编辑过]
|
-- 作者:qwz405 -- 发布时间:2017/5/24 16:40:00 -- 换个问法:我已经找到这一行了,如何把某些列显示出来。 现在我把所有这周的菜单都显示出来了,我只要查询那一天的数据即可。
Dim dtt As Date = e.PostValues("dt") \'用户选择查询日期 Dim lei As String = e.PostValues("lei") \'用户选择查询类别 Dim num As String = "日一二三四五六" Dim str1 As String = "周" & num.Chars(Today.DayOfWeek) \'将用户输入的查询日期转换为周次 Dim str2 As String = str1 & lei \'查询数据列,例如:周一午餐 Dim dtb As New DataTableBuilder("临时表1") \'生成临时表,为数据的填充作准备 dtb.AddDef("日期", Gettype(String), 16) dtb.AddDef("菜肴", Gettype(String), 16) Dim dt2 As DataTable = dtb.Build(True) Dim dr1 As DataRow = DataTables("食堂菜单").SQLFind("开始日期 <= \'"& dtt &"\' And 结束日期 >= \'"& dtt &"\'") \'SQLFind是在后台数据库中查找 If dr1 IsNot Nothing Then For Each c As DataCol In DataTables("食堂菜单").DataCols Dim dr As DataRow = dt.AddNew() dr("日期") = c.Name dr("菜肴") = dr1(c.Name) Next End If With wb.AddTable("","Table1") .CreateFromDataTable(dt) \'用于根据Foxtable的DataTable自动生成网页 End With 菜单数据表: [此贴子已经被作者于2017/5/24 16:54:50编辑过]
|
-- 作者:有点色 -- 发布时间:2017/5/24 17:27:00 --
[此贴子已经被作者于2017/5/24 17:26:52编辑过]
|
-- 作者:有点色 -- 发布时间:2017/5/24 17:29:00 -- If dr1 IsNot Nothing Then For Each c As DataCol In DataTables("食堂菜单").DataCols If c.Name.StartsWith("周") = false OrElse c.name.Contains(str2) Then Dim dr As DataRow = dt.AddNew() dr("日期") = c.Name dr("菜肴") = dr1(c.Name) End If Next End If [此贴子已经被作者于2017/5/24 17:29:39编辑过]
|
-- 作者:qwz405 -- 发布时间:2017/5/25 8:28:00 -- 老师,早上好。 这样获取的数据行,能否再根据需要排序? 我用dt.sort、Tables("临时表1").sort都搞不定,可能是我表搞错了,或者放错位置了。 然后我想查询前先对表排序:Tables("食堂菜单").Cols(str2).move(0),但查询的是后台表,这样排序应该也不起作用。 请老师指点。
|
-- 作者:有点色 -- 发布时间:2017/5/25 8:55:00 -- 循环的时候,不是可以直接用Table?
If dr1 IsNot Nothing Then [此贴子已经被作者于2017/5/25 8:55:44编辑过]
|
-- 作者:qwz405 -- 发布时间:2017/5/25 9:55:00 -- 老师,还是不知道排序条件放在哪? 它是用DataTables生成表格的,感觉排序不起作用。
Dim dtb As New DataTableBuilder("临时表1") \'生成临时表,为数据的填充作准备 dtb.AddDef("类别", Gettype(String), 32) dtb.AddDef("明细", Gettype(String), 32) dtb.Build Dim dr1 As DataRow = DataTables("食堂菜单").SQLFind("开始日期 <= \'"& dtt &"\' And 结束日期 >= \'"& dtt &"\' and 确认 = 1") \'SQLFind是在后台数据库中查找符合条件的数据行 If dr1 IsNot Nothing Then For Each c As Col In Tables("食堂菜单").Cols If c.Name.StartsWith("周") = False OrElse c.name.Contains(str2) Then Dim dr As DataRow = DataTables("临时表1").AddNew() dr("类别") = c.Name dr("明细") = dr1(c.Name) End If Next End If Tables("临时表1").Sort = "类别 Desc" With wb.AddTable("","Table1") .CreateFromDataTable(DataTables("临时表1")) \'用于根据Foxtable的DataTable自动生成网页 End With |
-- 作者:有点色 -- 发布时间:2017/5/25 11:49:00 -- 1、你的临时表为什么要排序?你生成的过程,就是排序的过程啊。
2、如果要排序,你要用这个方法 http://www.foxtable.com/mobilehelp/scr/0067.htm
|
-- 作者:qwz405 -- 发布时间:2017/5/27 17:10:00 -- 老师,是否可以获取点击行的某列的值? 我把菜肴同名的照片都放到了images里面,想通过名称显示照片。 用Gallery显示,或者跳转到另个网页显示都行。 照片路径:"./images/caidan/"& 明细列名值 &".jpg” 或者需要直接点击菜肴名称来显示,也行... 如果用户点击的不是菜肴行,就找不到照片(没有相应照片),显示空白即可,这个不用作判断了。 ....... With wb.AddTable("","Table1") .CreateFromDataTable(DataTables("临时表1"),False,"","类别") \'CreateFromDataTable用于根据Foxtable的DataTable自动生成网页,语法见帮助. .ActiveSheet = "menu" \'指定菜单 End With With wb.AddActionSheet("","menu") \'设计菜单 .Add("mnuphoto", "显示照片").Attribute = "" .Add("mnuCancel","取消","",True) End With [此贴子已经被作者于2017/5/27 17:16:27编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/5/27 17:55:00 -- 参考:http://www.foxtable.com/mobilehelp/scr/0147.htm table1.rows[table1.rowSel].cells[0].innerHTML
|