Foxtable(狐表)用户栏目专家坐堂 → 求助:从后台获取查询条件的,某列的值


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

主题:求助:从后台获取查询条件的,某列的值

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


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
求助:从后台获取查询条件的,某列的值  发帖心情 Post By:2017/5/24 16:27:00 [显示全部帖子]

求助:老师,要获取符合条件的行的中的,某几列的数据,代码要怎么写?

Dim dr As DataRow = DataTables("食堂菜单").SQLFind("日期 = '"& dt &"' and   <列名 = ***>   ") 


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

[此贴子已经被作者于2017/5/24 16:28:00编辑过]

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


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By: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

    

菜单数据表:

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

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


[此贴子已经被作者于2017/5/24 16:54:50编辑过]

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


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/5/25 8:28:00 [显示全部帖子]

老师,早上好。

这样获取的数据行,能否再根据需要排序?

我用dt.sort、Tables("临时表1").sort都搞不定,可能是我表搞错了,或者放错位置了。

然后我想查询前先对表排序:Tables("食堂菜单").Cols(str2).move(0),但查询的是后台表,这样排序应该也不起作用。

请老师指点。

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


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By: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

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


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By: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


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


[此贴子已经被作者于2017/5/27 17:16:27编辑过]

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


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/5/31 9:15:00 [显示全部帖子]

老师,早上好。

如何获取我点击的这行的菜肴(明细)的名称?



图片点击可在新窗口打开查看此主题相关图片如下:111.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/5/31 9:15:30编辑过]

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


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/6/1 16:51:00 [显示全部帖子]

老师,搞了好久,还是搞不定:不知道怎么运用获得的名称。


代码:
    With wb.AddActionSheet("","menu")      '设计菜单
        .Add("mnuphoto", "显示照片").Attribute = "o nclick=""getcaidan()"""
        .Add("mnuCancel","取消","",True)
    End With


js函数:
function getcaidan(){
var str = table1.rows[table1.rowSel].cells[1].innerHTML
alert(str)        //返回菜肴名称
}

[此贴子已经被作者于2017/6/1 16:51:45编辑过]

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


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/6/6 20:02:00 [显示全部帖子]

老师,您给的代码我搞不懂。
我能否直接把菜肴名称“str”发送到指定的网页,然后再生成图片。

显示照片菜单按键的click代码:
            With wb.AddActionSheet("","menu")      '设计菜单
                .Add("mnuphoto", "显示照片","./ppp3.htm").Attribute = "o n c lick = 'getcaidan()'"  
                .Add("mnuCancel","取消","",True)
            End With

接收数据网页:
    Case "ppp3.htm" '首页 
        Dim str As String = e.PlainText
        msgbox(str)
        With wb.AddInputGroup("","ipg1","照片")
            With .AddUploader("up1","照片",False)     '只允许上传1张照片
                .AllowAdd = False '关闭文件上传功能
                .AddImage("./images/caidan/"& str &".jpg")
            End With
        End With
        e.WriteString(wb.Build)    '生成网页


JS代码:
function getcaidan(){
  var str = table1.rows[table1.rowSel].cells[1].innerHTML
  sendAjaxText(str,"ppp3.htm","",false);
}

这样的结果是:服务器会跳2个弹窗(第1个弹窗名称正常,第2个弹窗是空值),显示不了需要的图片。

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


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/6/7 9:02:00 [显示全部帖子]

老师,又碰上新问题了:如何返回到上一页面(菜单页 ppp2.htm)?

是否有代码模拟手机的返回键,因为这样返回是能还原上一页面的数据的。

如果用按键返回到页面,就没数据了。因为菜单数据也是用查询获得的,直接返回到这个页面,是空白的。
        With wb.AddButtonGroup("","btg1",False)
            .Add("btn1","返回","","./ppp2.htm")      
        End With



 回到顶部