Foxtable(狐表)用户栏目专家坐堂 → 如何实现空行不保存?


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

主题:如何实现空行不保存?

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


加好友 发短信
等级:婴狐 帖子:18 积分:234 威望:0 精华:0 注册:2011/9/20 0:30:00
如何实现空行不保存?  发帖心情 Post By:2011/10/9 3:13:00 [只看该作者]

With Tables("客户资料")
    If .Current.DataRow.RowState = DataRowState.Unchanged Then '如果当前行未曾修改
        e.Form.Controls("新建").Enabled = True
        e.Form.Controls("修改").Enabled = True
        e.Form.Controls("删除").Enabled = True
        e.Form.Controls("保存").Enabled = False
        e.Form.Controls("撤销修改").Enabled = False
        e.Form.Controls("TextBox1").Enabled = False
        e.Form.Controls("TextBox2").Enabled = False
        e.Form.Controls("TextBox3").Enabled = False
        e.Form.Controls("TextBox4").Enabled = False
        e.Form.Controls("TextBox6").Enabled = False
        e.Form.Controls("TextBox7").Enabled = False
        e.Form.Controls("TextBox8").Enabled = False
        e.Form.Controls("TextBox9").Enabled = False
        e.Form.Controls("TextBox10").Enabled = False
        e.Form.Controls("TextBox11").Enabled = False
        e.Form.Controls("TextBox12").Enabled = False
        e.Form.Controls("TextBox13").Enabled = False
        e.Form.Controls("TextBox14").Enabled = False
        e.Form.Controls("TextBox15").Enabled = False
        e.Form.Controls("TextBox16").Enabled = False
        e.Form.Controls("DropBox1").Enabled = False
    Else
        e.Form.Controls("新建").Enabled = True
        e.Form.Controls("修改").Enabled = True
        e.Form.Controls("删除").Enabled = True
        e.Form.Controls("保存").Enabled = False
        e.Form.Controls("撤销修改").Enabled = False
        e.Form.Controls("TextBox1").Enabled = False
        e.Form.Controls("TextBox2").Enabled = False
        e.Form.Controls("TextBox3").Enabled = False
        e.Form.Controls("TextBox4").Enabled = False
        e.Form.Controls("TextBox6").Enabled = False
        e.Form.Controls("TextBox7").Enabled = False
        e.Form.Controls("TextBox8").Enabled = False
        e.Form.Controls("TextBox9").Enabled = False
        e.Form.Controls("TextBox10").Enabled = False
        e.Form.Controls("TextBox11").Enabled = False
        e.Form.Controls("TextBox12").Enabled = False
        e.Form.Controls("TextBox13").Enabled = False
        e.Form.Controls("TextBox14").Enabled = False
        e.Form.Controls("TextBox15").Enabled = False
        e.Form.Controls("TextBox16").Enabled = False
        e.Form.Controls("DropBox1").Enabled = False
        .Current.Save()
       
       
       
    End If
End With

这个是我的 客户资料的录入窗口中 保存按钮的代码  我想要的效果是 新增记录以后 如果什么也没改 是空白记录那么就不保存 新增等按钮启用 记录文本框停用  不是空白记录就保存,然后新增按钮启用 记录文本框停用 但是现在结果是点了保存 只执行ELSE  空白记录也会保存下来。。。。


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


加好友 发短信
等级:婴狐 帖子:18 积分:234 威望:0 精华:0 注册:2011/9/20 0:30:00
  发帖心情 Post By:2011/10/9 3:38:00 [只看该作者]

If e.Node.Level = 1 Then '如果单击的是第二层节点
    Dim ps() As String = e.Node.FullPath.Split("\")
    Dim tr As Row = Tables("客户资料").Current
    Dim dr As DataRow = DataTables("省份地区表").Find("省份 = '" & ps(0) & "' And 地区 = '" & ps(1) & "'")
    If dr IsNot Nothing Then '如果在行政区域表找到对应的行,则将此行的值写入客户表的当前行.
        tr("销售区域") = dr("省份") + dr("地区")
    End If
    e.Form.DropDownBox.CloseDropdown()  '关闭下拉目录树
End If

 

自行设计下拉目录树 我想选中下拉目录树当中的城市以后 将省份和地区都填到销售区域中。 例如选中安徽省下的安庆 销售区域填入安徽省安庆   现在结果是 选中了以后 销售区域中什么也没有 不知道是什么原因

 

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


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

第一个问题,不需要特地去禁用和启用各个按钮,这样太罗嗦,只需在保存按钮的代码前面加入一段代码,用于判断当前行是否是空行,如果是的,则拒绝保存。

第二个问题,试试这样:

 

If e.Node.Level = 1 Then '如果单击的是第二层节点
    Dim ps() As String = e.Node.FullPath.Split("\")
    Dim tr As Row = Tables("客户资料").Current
    Dim dr As DataRow = DataTables("省份地区表").Find("省份 = '" & ps(0) & "' And 地区 = '" & ps(1) & "'")
    If dr IsNot Nothing Then '如果在行政区域表找到对应的行,则将此行的值写入客户表的当前行.
        tr("销售区域") = dr("省份") + dr("地区")
        e.Form.DropDownBox.Value = dr("省份") + dr("地区")
    End If
    e.Form.DropDownBox.CloseDropdown()  '关闭下拉目录树
End If


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


加好友 发短信
等级:婴狐 帖子:18 积分:234 威望:0 精华:0 注册:2011/9/20 0:30:00
  发帖心情 Post By:2011/10/9 17:40:00 [只看该作者]

第二个问题解决了  谢谢  第一个问题。。。。。求代码 怎么样也写不好。

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


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

Dim nms() As String = {"列1","列2","列3"}   '不允许为空的列名

dim r As Row = Tables("XX").Current

For each nm AS string  in nms

    if r.isnull(nm) Then

         messagebox.show(nm & "必须输入内容")

         return

    end if

next

r.Save


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


加好友 发短信 千年小白狐
等级:婴狐 帖子:36 积分:409 威望:0 精华:0 注册:2009/6/1 21:48:00
  发帖心情 Post By:2011/10/10 9:02:00 [只看该作者]

膜拜老大~!!又学到新知识了!

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


加好友 发短信
等级:婴狐 帖子:18 积分:234 威望:0 精华:0 注册:2011/9/20 0:30:00
  发帖心情 Post By:2011/10/10 18:09:00 [只看该作者]

受教了

 


 回到顶部