Foxtable(狐表)用户栏目专家坐堂 → [求助]清除指定行的列数据,没运行


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

主题:[求助]清除指定行的列数据,没运行

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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]清除指定行的列数据,没运行  发帖心情 Post By:2018/12/2 14:08:00 [只看该作者]

请老师帮助看一下,窗口控件复选组合框CheckedComboBox1的 TextChanged 代码,没有运行,是什么原因?

谢谢!


'1、判断并列窗口名称

Dim frm As object    

For Each f As WinForm.Form In Forms

    If f.Tablename = "main" AndAlso f.opened AndAlso f.FormStyle = 0 Then

        Dim tab = f.panel.parent.parent

        Dim p = tab.tabpages(tab.Selectedindex)

        frm = Forms(p.controls(0).name)

        Exit For

    End If

Next


'2、清除与并列窗口名同名的数据表中指定编号的行且复选组合框勾选的列数据

If frm IsNot Nothing Then

    If e.Form.Controls("CheckedComboBox1").text <> "" Then

        Dim dr As DataRow

        dr = DataTables(frm.Name).Find("编号 = '" & e.Form.Controls("ComboBox1").text & "'")   ’与窗口同名数据表,指定编号所在的行

        If dr IsNot Nothing Then '如果找到的话

            Dim Names As String() = e.Form.Controls("CheckedComboBox1").text.split(",")        ’复选组合框勾选的列名称(列表项为表的列名称)

            For Each Name As String In Names

                dr(Name) = ""       ’清除指定行相应列数据

            Next

        End If

    End If

End If



[此贴子已经被作者于2018/12/2 21:50:10编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/2 21:57:00 [只看该作者]

1、请加入msgbox弹出测试,看代码执行到了哪里?

 

2、实例发上测试,说明测试步骤,以及需要达到的效果。


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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/12/4 18:03:00 [只看该作者]

老师好!
一楼代码没问题,是combobox绑定错了。

想问另一个问题,就是上述代码清除表数据后,为什么撤销操作,不能恢复原有数据。
撤销用的代码:Syscmd.Edit.Undo()

谢谢!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/4 18:06:00 [只看该作者]

以下是引用天一生水在2018/12/4 18:03:00的发言:

想问另一个问题,就是上述代码清除表数据后,为什么撤销操作,不能恢复原有数据。
撤销用的代码:Syscmd.Edit.Undo()

 

用代码清除的操作,无法 undo 的。


 回到顶部