Foxtable(狐表)用户栏目专家坐堂 → [求助]WEUI明细表编辑以后如何保存


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

主题:[求助]WEUI明细表编辑以后如何保存

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


加好友 发短信
等级:九尾狐 帖子:2283 积分:18777 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]WEUI明细表编辑以后如何保存  发帖心情 Post By:2025/2/23 21:55:00 [只看该作者]

定义Edit.htm,大意是将打开订单表的明细(不过不是用表,是用AddPreview加载明细,然后点各个明细的编辑按钮,需要编辑哪个明细,就点哪个明细的编辑按钮
Dim wb As New weui
Dim pr As DataRow '定义主表ID
Dim drs As List(Of DataRow) = DataTables("订单2").SQLSe1ect("", 5, "[_Identify] ") '获取前5条记录  

For Each dr As DataRow In drs
    With wb.AddPreview("", dr("ID"), dr("产品"), dr("金额"))
        .AddItem("客户", dr("客户"))
        .AddItem("雇员", dr("雇员"))
        .AddItem("单价", dr("单价"))
        .AddItem("数量", dr("数量"))
        .AddItem("折扣", dr("折扣"))
        .AddItem("日期", dr("日期"))
        .Addbutton("编辑", "EditDetail.htm?page = " & Page & " & did = " & dr("ID") & " & oid = " & pr("ID"), 1, "") 
    End With 
Next
e.WriteString(wb.Build)


有个问题,明细表的数据修改以后,如何保存?
这里定义一个明细表的编辑函数editdetail.
Dim e As RequestEventArgs = args(0)
Dim wb As New weui

Dim Page As Integer '页码变量
If e.GetValues.ContainsKey("page") Then '如果地址中有page参数
    Integer.TryParse(e.GetValues("page"), page) '提取page参数
End If

Dim oid As String
If e.GetValues.ContainsKey("oid") Then '如果地址中有主表ID参数
    oid = e.GetValues("oid") '提取主表ID参数
End If

Dim xr As DataRow
If e.GetValues.ContainsKey("did") Then '如果地址中有明细ID参数
    xr = DataTables("明细表").SQLFind("ID = '" & e.GetValues("did") & "'")
    Dim url As String = "EditDetail.htm?page=" & page & "&did='" & xr("ID") & "'" & "&oid='" & oid & "'" '传递页码和明细ID
    wb.AddForm("", "form1", url)
    With wb.AddInputGroup("form1", "ipg1", "编辑明细")
        .AddHiddenValue("did", xr("ID"))
        .AddInput("Code", "编号", "text").Value = xr("Code")
        .AddInput("Title", "名称", "text").Value = xr("Title")
    End With
    
    With wb.AddButtonGroup("form1", "btg1", False)
        .Add("btnok", "确定", "submit", )  '这个保存应当怎么写?
        .Add("btnBack", "返回", "", "Edit.htm?page=" & Page & "&oid=" & oid)  '点击返回,就回到上一个界面
    End With
End IfIf e.PostValues.Count > 0 Then '如果是通过提交按钮访问,则给一个已经保存的提示给用户,时长500毫秒
wb.AddToast("", "t1", "已经保存", 0).Msec = 500
End If
wb.AppendHTML("<script src='./lib/order.js'></script>") '引入脚本文件
e.WriteString(wb.Build) '生成网页

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


加好友 发短信
等级:超级版主 帖子:112364 积分:572076 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/2/23 22:25:00 [只看该作者]

确定按钮使用的是submit,会正常提交,只需要判断e.PostValues.Count > 0


If e.PostValues.Count = 0 Then
显示编辑区
else
保存的代码
end if

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


加好友 发短信
等级:九尾狐 帖子:2283 积分:18777 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2025/2/23 23:43:00 [只看该作者]

editdetail函数定义如下:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui

Dim Page As Integer '页码变量
Dim oid As String
Dim xr As DataRow

If e.GetValues.ContainsKey("page") AndAlso e.GetValues.ContainsKey("oid") AndAlso e.GetValues.ContainsKey("did") Then 
    Integer.TryParse(e.GetValues("page"), page) '提取page参数
    oid = e.GetValues("oid") '提取主表ID参数
    xr = DataTables("TbBProD").SQLFind("ID = '" & e.GetValues("did") & "'")
    If xr Is Nothing Then
        Return ""
    End If
End If

Dim url As String = "EditBProDetail.htm?page=" & page & "&did=" & xr("ID") & "&oid=" & oid '传递页码和明细ID

wb.AddForm("", "form1", url)
With wb.AddInputGroup("form1", "ipg1", "编辑明细")
    .AddHiddenValue("did", xr("ID"))
    .AddInput("Code", "编号", "text").Value = xr("Code")
    .AddInput("Title", "名称", "text").Value = xr("Title")
End With

With wb.AddButtonGroup("form1", "btg1", False)
    .Add("btnok", "确定", "submit", url)  ''这一句是不是有什么问题?
    .Add("btnBack", "取消", "", "Edit.htm?page=" & Page & "&oid=" & oid)
End With

If e.PostValues.Count > 0 Then 
    xr("Code") = e.PostValues("Code")
    xr("Title") = e.PostValues("Title")
    xr.Save() 
    wb.AddToast("", "t1", "已经保存", 0).Msec = 500
End If

wb.AppendHTML("<script src='./lib/order.js'></script>") '引入脚本文件
e.WriteString(wb.Build) '生成网页


但是实际点击“确定”按钮,并没有保存为新输入的值。
名称后面加了“XX”,然后点确定,数据又回去了
ACCESS数据库有延迟?

图片点击可在新窗口打开查看此主题相关图片如下:无标题2.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2025/2/23 23:52:20编辑过]

 回到顶部