Foxtable(狐表)用户栏目专家坐堂 → [求助]删除空行,不影响新增加的行


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

主题:[求助]删除空行,不影响新增加的行

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


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
[求助]删除空行,不影响新增加的行  发帖心情 Post By:2016/10/12 10:23:00 [只看该作者]

我有增加按钮代码 ,我想增加后,未保存的空行,换行后可以自动删除

currentchanged 事件代码;

Dim ct As Table = CurrentTable
Dim name As String
For Each cl As Col In ct.Cols
    If cl.name.Endswith("名称") Then
        name = cl.name
        Exit For
    End If
Next
For Each r As Row In ct.Rows
    If r.Isnull(name)=False Then
        r.save()
        Forms("基本设置").Controls("增 加").Enabled = True
        Forms("基本设置").Controls("修 改").enabled = True
        Forms("基本设置").Controls("删 除").enabled = True
        Forms("基本设置").Controls("保 存").enabled = False
        Forms("基本设置").Controls("取 消").enabled = True
        Forms("基本设置").Controls("导 出").enabled = True
        Forms("基本设置").Controls("退 出").enabled = True

    End If
Next

谢谢


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


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
  发帖心情 Post By:2016/10/12 10:28:00 [只看该作者]

以下是增加按钮的代码 :

Dim ct As Table = CurrentTable
Dim rz As Integer =ct.Rows.count-1
Dim r As Row =Ct.Rows(rz)
Dim dex As Integer
Dim name As String
For Each cl As Col In ct.Cols
    If cl.name.Endswith("名称") Then
        dex =cl.Index
        name = cl.name
        Exit For
    End If
Next
If r IsNot Nothing Then
    If r.Isnull(name)=True Then
        Ct.Select(rz,dex,rz,dex)
        Ct.startediting
        e.Form.Controls("增 加").Enabled = True
        e.Form.Controls("修 改").enabled = False
        e.Form.Controls("删 除").enabled = False
        e.Form.Controls("保 存").enabled = True
        e.Form.Controls("取 消").enabled = True
        e.Form.Controls("导 出").enabled = False
        e.Form.Controls("退 出").enabled = False
        Return
    Else
        Dim hde As Integer=Ct.addnew().Index
        Ct.Select(hde,dex,hde,dex)
        Ct.startediting
        e.Form.Controls("增 加").Enabled = True
        e.Form.Controls("修 改").enabled = False
        e.Form.Controls("删 除").enabled = False
        e.Form.Controls("保 存").enabled = True
        e.Form.Controls("取 消").enabled = True
        e.Form.Controls("导 出").enabled = False
        e.Form.Controls("退 出").enabled = False
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/12 10:58:00 [只看该作者]

currentchanged 事件代码;

Dim ct As Table = e.Table
Dim name As String
For Each cl As Col In ct.Cols
    If cl.name.Endswith("名称") Then
        name = cl.name
        Exit For
    End If
Next
ct.DataTable.DeleteFor(name & " is null")
ct.DataTable.save

Forms("基本设置").Controls("增 加").Enabled = True
Forms("基本设置").Controls("修 改").enabled = True
Forms("基本设置").Controls("删 除").enabled = True
Forms("基本设置").Controls("保 存").enabled = False
Forms("基本设置").Controls("取 消").enabled = True
Forms("基本设置").Controls("导 出").enabled = True
Forms("基本设置").Controls("退 出").enabled = True


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


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
  发帖心情 Post By:2016/10/12 11:48:00 [只看该作者]

若填写 更改后的currentchanged 事件代码 ,之前增加按钮的代码,单击增加按钮时,就不能增加行啦,谢谢,请赐教


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/12 12:05:00 [只看该作者]

试试这2句代码前后加上

SystemReady = False
Dim hde As Integer=Ct.addnew().Index
Ct.Select(hde,dex,hde,dex)
SystemReady = True

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


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
  发帖心情 Post By:2016/10/12 14:28:00 [只看该作者]

可是可以啦,但  我表里之前的自动增加行,也就是最后一行,最后一个单元格,回车时,能够增加行,不见啦,还有,代码出现  下述的提示 


Syntax error: Missing operand before 'Is' operator.

.NET Framework 版本:2.0.50727.3053
Foxtable 版本:2016.7.29.1
错误所在事件:全局表事件,CurrentChanged
详细错误信息:
Syntax error: Missing operand before 'Is' operator.

哎,这个代码不好编,谢谢


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


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
  发帖心情 Post By:2016/10/12 14:29:00 [只看该作者]

是不是与我  放在全局表事件里的位置有关呢??

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/12 15:25:00 [只看该作者]

currentchanged 事件代码;

Dim ct As Table = e.Table
Dim name As String
For Each cl As Col In ct.Cols
    If cl.name.Endswith("名称") Then
        name = cl.name
        Exit For
    End If
Next
If name > 0 Then
    ct.DataTable.DeleteFor(name & " is null")
    ct.DataTable.save
End If

Forms("基本设置").Controls("增 加").Enabled = True
Forms("基本设置").Controls("修 改").enabled = True
Forms("基本设置").Controls("删 除").enabled = True
Forms("基本设置").Controls("保 存").enabled = False
Forms("基本设置").Controls("取 消").enabled = True
Forms("基本设置").Controls("导 出").enabled = True
Forms("基本设置").Controls("退 出").enabled = True

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


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
  发帖心情 Post By:2016/10/13 9:47:00 [只看该作者]

代码运行后,还是出问题,与 全局事件有关系,我换了一种思路来开发,好像解决了,有不懂的再向你们请教,谢谢

 回到顶部