以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  开关控件,值改变保存,实际没有保存  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99886)

--  作者:fubblyc
--  发布时间:2017/4/28 17:35:00
--  开关控件,值改变保存,实际没有保存
开关控件,值改变保存,实际没有保存。其他的所有控件的值都有保存,不知道是什么原因。
编辑代码:
If e.GetValues.ContainsKey("oid")  Then  \'如果是旧订单,则汇总显示数量和金额
    With wb.AddInputGroup("form1","ipg1","编辑")
      With  .AddSwitch("完成","是否完成")
              .Value = "True"
              .Attribute = ""
              .value = pr("完成")
     End With
Else
    With wb.AddInputGroup("form1","ipg3","新增")
        .AddHiddenValue("订单编号",pr("订单编号"))
    End With
End If

With wb.AddButtonGroup("form1","btg1",False)
    .Add("btn2", "保存", "submit")  \'正常提交,保存后进入编辑状态
End With

pr.Save() \'必须保存,而且必须在最后保存,因为SQLAddNew增加的行,保存之后就会销毁,无法再调用
If e.PostValues.Count > 0 Then \'如果是通过提交按钮访问,则给一个已经保存的提示给用户,时长500毫秒
wb.InsertHTML("<meta http-equiv=\'Refresh\' c >")  \'直接跳转到列表页
End If
wb.AppendHTML("<script src=\'./lib/order.js\'></script>")  \'引入脚本文件
e.WriteString(wb.Build) \'生成网页

保存代码:
Dim dr As DataRow =  DataTables("订单").SQLFind("订单编号=\'" & e.PostValues("订单编号") & "\'")
Dim nms() As String =  {"完成"}  \'""
If dr IsNot Nothing Then
    For Each nm As String In nms
        If e.PostValues.ContainsKey(nm) Then
            dr(nm)= e.PostValues(nm)
        End  If
    Next
End If
dr.Save()
[此贴子已经被作者于2017/4/28 17:37:25编辑过]

--  作者:有点色
--  发布时间:2017/4/28 17:40:00
--  

弹出对应的值看看

 

msgbox(e.PostValues("订单编号") )

Dim dr As DataRow =  DataTables("订单").SQLFind("订单编号=\'" & e.PostValues("订单编号") & "\'")
Dim nms() As String =  {"完成"}  \'""
If dr IsNot Nothing Then
    msgbox("进入了")
    For Each nm As String In nms
        msgbox(nm)
        If e.PostValues.ContainsKey(nm) Then
            msgbox(nm & " : " & e.PostValues(nm))
            dr(nm)= e.PostValues(nm)
        End  If
    Next
End If
dr.Save()
 
如果弹出的值都正常,那肯定是修改了,sqlfind的是后台修改,你在前台可能没有看到最新值,要刷新一下

--  作者:fubblyc
--  发布时间:2017/4/28 23:00:00
--  
老师,看,是这样的:不知道什么原因

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


--  作者:有点蓝
--  发布时间:2017/4/28 23:08:00
--  
If e.GetValues.ContainsKey("oid")  Then  \'如果是旧订单,则汇总显示数量和金额
    With wb.AddInputGroup("form1","ipg1","编辑")
      With  .AddSwitch("完成","是否完成")
              .Value = "True" 
              .Attribute = ""
\'去掉第二个Value赋值
     End With
Else

--  作者:fubblyc
--  发布时间:2017/4/28 23:13:00
--  
      With  .AddSwitch("完成","是否完成")
              .Value = "True"
              .Attribute = ""
              \'.value = pr("完成")  去掉这个就可以保存了,但是,我的本意是要进去之后,能看到之前的选择。能实现吗?比如现在是true保存后,再次进去,现在是False
     End With

--  作者:有点蓝
--  发布时间:2017/4/29 8:44:00
--  
With  .AddSwitch("完成","是否完成",pr("完成") )
              .Value = "True"
              .Attribute = ""
              \'.value = pr("完成")  去掉这个就可以保存了,但是,我的本意是要进去之后,能看到之前的选择。能实现吗?比如现在是true保存后,再次进去,现在是False
     End With

用一个功能就要了解一个功能的用法:http://www.foxtable.com/mobilehelp/scr/0049.htm