Foxtable(狐表)用户栏目专家坐堂 → 研究了一早上!修改保存按钮还有些小问题!


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

主题:研究了一早上!修改保存按钮还有些小问题!

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
研究了一早上!修改保存按钮还有些小问题!  发帖心情 Post By:2011/8/19 11:31:00 [只看该作者]

1.例如:我只修改了最后进店日期   点 保存修改 就会跳出没有更改公里数 yes no对话框  如果选择 no 返回修改了当前里程 再点保存修改时   又跳出没有更改进店日期的yes no 对话框 

 

   我想 如果出现提示 当前里程未更改 点no  返回 修改里程后  再点保存修改  就会保存这一记录 并往历史进店记录添加一行

                         最后进店日期同上

 

2.还有个问题  就是窗口beforeclose事件里有

If Tables("客户档案").Current.DataRow.RowState <> DataRowState.Unchanged Then '如果当前行已经修改过
    e.Cancel = True
End If

 

但是 这代码貌似没用  如果我随便点开一个数据 修改了公里数后  没点保存  还是可以关闭窗口

 

3.这个更bug  由于窗口是独立窗口 可以选中后面的数据表(主要是想利用 数据表里自带的查询功能,用模式窗口无法使用查询功能)。如果我在窗口中 更改了数据 但是未保存  此时 我在后面的表里换行了  结果发现更改的数据已保存了。。  这个能否解决?

如果不能解决 看来只有自己设计一个查询窗口镶嵌到 数据录入窗口里了!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:内控系统10.rar

[此贴子已经被作者于2011-8-19 11:31:41编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/19 11:46:00 [只看该作者]

还有1个想法 就不开新帖问了

 

 

我发现保存修改这个按钮 点击的时候 没感觉! 能否设置下  如果点击保存 且保存成功了  则这个按钮变灰

                                                                               如果选择了新记录  或者 又更改了数值  则又变回来!

 

 

 

发现用flat 设置 但是flat好丑感觉 设计不到原来按钮的效果啊!

 

            popup保存动作好一点  但是 也不怎么美观

[此贴子已经被作者于2011-8-19 11:53:20编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2011/8/19 11:51:00 [只看该作者]

在保存按钮的最后加上一条:e.Form.Controls("Button2").Enabled = False,

反之:e.Form.Controls("Button2").Enabled = True


 回到顶部
帅哥,在线噢!
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/19 11:57:00 [只看该作者]

1、问题一个一个提,不要总是一大堆,这是你在设计系统,不是人家设计。

2、没有怎么看懂你的逻辑,瞎蒙一下:

 

Dim r As Row = Tables("客户档案").Current
Dim lc As Single = e.Form.Controls("lc").Text
Dim rq As Date = e.Form.Controls("rq").Text
Dim xz As DialogResult
Dim yz As DialogResult
If r.Isnull("最后进店日期") OrElse r.Isnull("当前里程") OrElse r.Isnull("底盘号")  Then
    messagebox.show("请输入最后进店日期,当前里程,底盘号","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
If lc = r("当前里程") AndAlso rq <> r("最后进店日期") Then
    xz = MessageBox.Show("当前里程 未更改!确定不填写吗?", "提示", MessageBoxButtons.yesno, MessageBoxIcon.Question)
    If xz = DialogResult.yes Then
        r.Save()
        e.Form.Controls("rq").Text = r("最后进店日期")
    End If
    Return
End If
If lc <> r("当前里程") AndAlso rq = r("最后进店日期") Then
    yz = MessageBox.Show("最后进店日期 未更改!确定不填写吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If yz = DialogResult.yes Then
        r.Save()
        e.Form.Controls("lc").Text = r("当前里程")
    End If
    Return
End If
If lc <> r("当前里程") AndAlso rq <> r("最后进店日期") Then
    Dim dr As DataRow = DataTables("历史进店记录").Find("底盘号 = '" & r("底盘号") & "' And 当前里程 = " & r("当前里程") & " And 进店时间 = #" & r("最后进店日期") & "#")
    If dr Is Nothing Then
        dr = DataTables("历史进店记录").AddNew()
        dr("底盘号") = r("底盘号")
        dr("当前里程") = r("当前里程")
        dr("进店时间") = r("最后进店日期")
        dr.Save()
    End If
End If

r.Save()
e.Form.Controls("rq").Text = r("最后进店日期")
e.Form.Controls("lc").Text = r("当前里程")

[此贴子已经被作者于2011-8-19 12:07:38编辑过]

 回到顶部
帅哥,在线噢!
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/19 12:13:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:扬州华泰内控系统.rar


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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/19 12:26:00 [只看该作者]

代码基本就这样 关键是由于考虑到很多种情况  逻辑太复杂了! 牵涉到很多问题  又怕单单提一个问题 

 

解决后 又出现新问题!!


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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/19 12:40:00 [只看该作者]

双击出现窗口点保存后

 

换行 不修改任何数据 再保存  则会在历史记录里添加数据了。。。

[此贴子已经被作者于2011-8-19 12:40:20编辑过]

 回到顶部
帅哥,在线噢!
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/19 14:18:00 [只看该作者]

在表的CurrentChanged事件加上代码:

 

With Forms("客户档案信息")
    If .Opened
        Dim lc As WinForm.Label = .Controls("lc")
        Dim rq As WinForm.Label = .Controls("rq")
        rq.text = Tables("客户档案").Current("最后进店日期")
        lc.text = Tables("客户档案").Current("当前里程")
    End If
End With

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:扬州华泰内控系统.rar


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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/19 15:01:00 [只看该作者]

我1楼有个问题:

由于窗口是独立窗口 可以选中后面的数据表(主要是想利用 数据表里自带的查询功能,用模式窗口无法使用查询功能)。如果我在窗口中 更改了数据 但是未保存  此时 我在后面的表里换行了  结果发现更改的数据已保存了。。  这个能否解决?

 

我在你这代码后面加了一段代码

 

Tables("客户档案").Current.Reject()

 

用以处理上面的问题,但是出现了 如果我双击窗口 更改了公里数或者日期  然后换行 再换回来  的确记录不会更改了 

 

但是我点保存的时候 会出跳出 这段代码的提示框

 yz = MessageBox.Show("最后进店日期 未更改!确定不填写吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
由于数据根本没更改 只是换了行,所以很纳闷~

 

貌似和最后这段代码有关

e.Form.Controls("rq").Text = r("最后进店日期")
e.Form.Controls("lc").Text = r("当前里程")

[此贴子已经被作者于2011-8-19 15:05:19编辑过]

 回到顶部
帅哥,在线噢!
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/19 15:13:00 [只看该作者]

只能用模式窗口,窗口加上上一行、下一行、第一行、最末行的按钮。

 

 

要筛选的时候关闭窗口。


 回到顶部
总数 14 1 2 下一页