Foxtable(狐表)用户栏目专家坐堂 → 移动开发“ 今日之前的日期”不可编辑、删除


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

主题:移动开发“ 今日之前的日期”不可编辑、删除

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


加好友 发短信
等级:幼狐 帖子:125 积分:1544 威望:0 精华:0 注册:2017/3/16 1:12:00
移动开发“ 今日之前的日期”不可编辑、删除  发帖心情 Post By:2017/11/8 12:03:00 [只看该作者]

甜老师好!我的订餐系统使用中发现问题:有些员工吃过了的饭,过后又把它删了。因此如何设计:今天之前的订单不能删除的代码?我翻遍了帮助都找不到相关命令条件的。。。只好又求助伟大救星甜老师了。
[此贴子已经被作者于2017/11/8 12:04:38编辑过]

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


加好友 发短信
等级:幼狐 帖子:125 积分:1544 威望:0 精华:0 注册:2017/3/16 1:12:00
  发帖心情 Post By:2017/11/8 12:06:00 [只看该作者]

附件
图片点击可在新窗口打开查看此主题相关图片如下:过期删除.jpg
图片点击可在新窗口打开查看
总是不显示的,再发看看。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/8 12:37:00 [只看该作者]

js端不好控制,建议在httprequest里面控制。

 

edit.htm页面,先根据编号的值查找到对应的行;

 

然后对比日期,如果是之前的数据,那就提示不允许删除返回;否则,执行原来的代码。


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


加好友 发短信
等级:幼狐 帖子:125 积分:1544 威望:0 精华:0 注册:2017/3/16 1:12:00
  发帖心情 Post By:2017/11/8 15:30:00 [只看该作者]

哦哦,原理听起来似乎明白了,但整代码可不是件简单的事。我是用自定义函数的,edit代码如下:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Dim Pagetext As Integer = e.GetValues("page")
Dim PrimaryKey As Integer = e.GetValues("key")
Dim PageURL = "List.htm?page=" & Pagetext
If e.PostValues.Count = 0 Then '生成编辑页面
    Dim dr As DataRow = DataTables("订餐明细表").SQLFind("[_Identify]=" & PrimaryKey)
    If dr IsNot Nothing Then
        wb.AddForm("","form1","edit.htm?key=" & PrimaryKey &  "&page=" & Pagetext)
        With wb.AddInputGroup("form1","ipg1","编辑table")
            .AddHiddenValue("编号", dr("_Identify"))
            .AddInput("xm","姓名","text").Value=dr("姓名")
            .AddInput("rq","日期","date").Value=dr("日期")
            .AddInput("fs","份数","number").Value=dr("份数")
        End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "确定", "submit")
        End With
    Else
        With wb.AddMsgPage("","msgpage","编辑失败", "此table可能已经被删除!") '提示用户此table不存在.
            .icon= "Warn"
            .AddButton("btn1","返回",PageURL) '生成返回原来页面的按钮
        End With
    End If
Else '保存编辑结果
    Dim dr As DataRow = DataTables("订餐明细表").SQLFind("[_Identify]=" & PrimaryKey)
    If dr IsNot Nothing Then
        Dim inms() As String = {"xm","rq","fs"} '输入框名称数组
        Dim cnms() As String = {"姓名","日期","份数"} '列名数组,注意列名和输入框必须一一对应,位置不能错乱
        For i As Integer = 0 To inms.Length -1
            dr(cnms(i)) = e.PostValues(Inms(i))
        Next
        dr.Save()
        '显示完成提示,2秒后自动返回原来的页面
        wb.AppendHtml("<meta http-equiv='refresh' c>",True)
        wb.AddToast("","t1", "编辑完成",0).Visible = True
        
    Else
        With wb.AddMsgPage("","msgpage","保存失败", "此table可能已经被删除!") '提示用户此table不存在.
            .icon= "Warn"
            .AddButton("btn1","返回",PageURL) '生成返回原来页面的按钮
        End With
    End If
End If
e.WriteString(wb.Build) '生成网页

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/8 16:46:00 [只看该作者]

Dim dr As DataRow = DataTables("订餐明细表").SQLFind("[_Identify]=" & PrimaryKey & " and 日期 = '" & date.today & "'")

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/8 17:03:00 [只看该作者]

Dim dr As DataRow = DataTables("订餐明细表").SQLFind("[_Identify]=" & PrimaryKey)

 

直接替换成

 

Dim dr As DataRow = DataTables("订餐明细表").SQLFind("[_Identify]=" & PrimaryKey & " and 日期 = #" & date.today & "#")

 

----------------

 

如果想额外增加提示,还可以这样

 

Dim dr As DataRow = DataTables("订餐明细表").SQLFind("[_Identify]=" & PrimaryKey)

If dr IsNot Nothing Then

    If dr("日期") < Date.Today Then

        '这里提示出错,生成一个页面

     Else

         '正常页面

    End If

End If


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


加好友 发短信
等级:幼狐 帖子:125 积分:1544 威望:0 精华:0 注册:2017/3/16 1:12:00
  发帖心情 Post By:2017/11/8 17:08:00 [只看该作者]

这个连今天的也不可编辑了,应该是今天之前的日期不可编辑。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/8 17:46:00 [只看该作者]

贴出你写的代码。改成这样呢?

 

Dim dr As DataRow = DataTables("订餐明细表").SQLFind("[_Identify]=" & PrimaryKey & " and 日期 >= #" & date.today & "#")


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


加好友 发短信
等级:幼狐 帖子:125 积分:1544 威望:0 精华:0 注册:2017/3/16 1:12:00
  发帖心情 Post By:2017/11/8 17:58:00 [只看该作者]

呵呵,爽歪了,就是这个行!非常的谢谢甜老师,这样我这个小软件又上一档次了!

 回到顶部