Foxtable(狐表)用户栏目专家坐堂 → 两个问题需要解答一下


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

主题:两个问题需要解答一下

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
两个问题需要解答一下  发帖心情 Post By:2011/12/6 11:09:00 [显示全部帖子]

If Tables(e.form.Name).Current("请购依据") ="销售订单" Then
    Dim cmd As New SQLCommand
    Dim dt As DataTable
    cmd.C
    cmd.CommandText = "SELECT DISTINCT 系统单号 From {销售订单}"
    dt = cmd.ExecuteReader()
    e.Sender.ComboList= dt.GetComboListString("系统单号")
End If

 

  我在控件里面判断如果是下销售订单的时候,可以下拉显示系统单号,但是如果显示手工录入的时候,本框下拉没有数据,要手工输入,我应该怎么设置?

 

  第二个:我用这个判断 If DataTables("产品").HasChanges Then   但是发现一个问题,复制和自动输入的数据不会判断修改,这个是怎么回事?


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/12/6 11:16:00 [显示全部帖子]

表的判断修改应该是我的问题,我看看
[此贴子已经被作者于2011-12-6 11:16:46编辑过]

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/12/6 11:51:00 [显示全部帖子]

老大你理解错了,我是说我选择了销售订单的时候,  那个框子可以将系统单号下拉列出来.

 

但是我改为手工单号的时候,那个框下拉还会显示系统单号出来,我的要求是  :

 

 Current("请购依据") ="销售订单"  为销售订单时,那个框子可以下拉选择,为手工单号只能手输,不要选择.

 

 

 

第二个问题,是我的问题,我在查!


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/12/6 12:21:00 [显示全部帖子]

老大你真厉害.第二个问题,我写了个通用的退出的函数.

 

 我有很多个窗口,有的窗口是有窗口表,有的是没有窗口表,我想不管是窗口表修改还是主表修改,退出时都有对话框提示是否保存什么的?代码如下:

 

Dim e As FormEventArgs = args(0)
Dim Result As DialogResult
If Vars("开关") = True Then
    MessageBox.Show(1)
    If Tables(e.form.Name).DataTable.HasChanges Then
        Result = MessageBox.Show("是否将更改并保存本单据?", "提示!", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            If Tables(e.form.Name).Rows.Count>0 Then
                Tables(e.form.Name).Current("修改人") = _UserName
                Tables(e.form.Name).Current("修改时间") = Date.Now()
                Tables(e.form.Name).DataTable.Save()
                If e.form.ExistControl("Table1") =True Then
                    If Tables(e.form.Name & "_Table1").DataTable.DataRows.Count>0 Then
                        Tables(e.form.Name & "_Table1").DataTable.Save
                    End If
                End If
            End If
MessageBox.show(2)
        ElseIf Result = DialogResult.No Then
            If Tables(e.form.Name).DataTable.HasChanges Then
                Tables(e.form.Name).DataTable.RejectChanges()
                If e.form.ExistControl("Table1") =True Then
                    If Tables(e.form.Name & "_Table1").DataTable.DataRows.Count>0 Then
                        Tables(e.form.Name & "_Table1").DataTable.RejectChanges()
                    End If
                    For Each re As Relation In Relations
                        Tables(Re.ChildTable.Name).DataTable.RejectChanges()
                    Next
                End If
            Else
                e.Cancel=True
            End If
        End If
    End If
Else '如果不是新单
    If e.form.ExistControl("Table1") =True Then
        If Tables(e.form.Name & "_Table1").DataTable.HasChanges Then '如果子表有变动
            Result = MessageBox.Show("是否将更改并保存本单据?", "提示!", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
            If Result = DialogResult.Yes Then
                Tables(e.form.Name & "_Table1").DataTable.Save '则无条件保存
            ElseIf Result = DialogResult.No Then
                Tables(e.form.Name & "_Table1").DataTable.RejectChanges()
            Else
                e.Cancel=True
            End If
            vars("开关") = False
        End If
    End If
End If

 

本来C版帮我加了个开关,当时测试没有问题.  现在测试下来居然主表修改不提示,窗口表修改会提示.

 

  在窗口事件中vars("开关") = False 我加了这个,在新增按钮中加了先开后关的设置.

 

  不知道问题出在什么地方,这个通用代码有没有简单的写法.


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/12/6 14:35:00 [显示全部帖子]

老大,我跟踪不出来了,已经晕了.C版又不在.

 

 

能不能按照这样的逻辑不用开关来解决,

 

  通用的代码,就是如有20个表单,有一些是有窗口表,有一些没有窗口表.不管是窗口表还是主表修改后关闭窗口时都会出来提示是否保存?

 

  按是,就全部保存退出窗口,按否不保存退出窗口,按取消不退出窗口什么都不做.

 

就我那个代码帮我修改一下或者用其他代码都行.


 回到顶部