Foxtable(狐表)用户栏目专家坐堂 → [求助]关于删除单元格数据的问题


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

主题:[求助]关于删除单元格数据的问题

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


加好友 发短信
等级:小狐 帖子:384 积分:2706 威望:0 精华:0 注册:2015/11/27 19:09:00
  发帖心情 Post By:2016/3/1 22:49:00 [只看该作者]

老师,还在吗?测试出来了吗?

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


加好友 发短信
等级:小狐 帖子:384 积分:2706 威望:0 精华:0 注册:2015/11/27 19:09:00
  发帖心情 Post By:2016/3/1 22:50:00 [只看该作者]

以下是引用大红袍在2016/3/1 22:20:00的发言:

测试没问题。入库表,输入 存储_存储编号 后,6-8列都清空了啊。




老师,还在吗?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/1 22:58:00 [只看该作者]

测试,没问题啊。

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


加好友 发短信
等级:小狐 帖子:384 积分:2706 威望:0 精华:0 注册:2015/11/27 19:09:00
  发帖心情 Post By:2016/3/1 23:04:00 [只看该作者]

奇怪,为什么我的就会有问题呢

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


加好友 发短信
等级:小狐 帖子:384 积分:2706 威望:0 精华:0 注册:2015/11/27 19:09:00
  发帖心情 Post By:2016/3/1 23:06:00 [只看该作者]

我的就是删除不了,第6列可以删除的,但是第7、8列就无法删除,怎么回事呢?

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


加好友 发短信
等级:小狐 帖子:384 积分:2706 威望:0 精华:0 注册:2015/11/27 19:09:00
  发帖心情 Post By:2016/3/1 23:37:00 [只看该作者]

以下是引用大红袍在2016/3/1 22:58:00的发言:
测试,没问题啊。


老师,别的还有什么方法能够实现我的目的呢,我想再试试其他的方法看看,唉,这个我一直没有找到是什么原因引起的,只能换换其他的方法了,还请老师指点


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/3/2 9:04:00 [只看该作者]

那是由于Tables("入库").Cols("存储_盒号").DropTree的赋值顺序引起的 ,改下顺序就好:

Dim tbrc As New DropTreeBuilder
tbrc.SourceTable = DataTables("存储") '指定目录树表
tbrc.TreeCols = "盒号|格号" '指定用于生成目录树的列
tbrc.SourceCols = "盒号|格号|存储编号" '指定数据来源列
tbrc.ReceiveCols = "存储_盒号|存储_格号|存储_存储编号" '指定数据接收列
Tables("入库").Cols("存储_盒号").DropTree = tbrc.Build()

另外代码不严谨,会导致程序假死,改下:
If e.DataCol.name = "存储_存储编号" Then
    If e.DataRow.IsNull("存储_存储编号") = False Then
        Dim hh As String = e.DataRow("存储_存储编号")
        Dim dr As DataRow = DataTables("存储").Find("存储编号 ='" & hh & "'")
        If dr.IsNull("数量") OrElse dr("数量") <= 0
            dr("器件编号") = e.DataRow("器件编号")
            dr("规格型号") = e.DataRow("规格型号")
            dr("器件特性") = e.DataRow("器件特性")
            If Vars("qjsr01") > "" Then
                Dim qdr As DataRow = DataTables("存储").Find("存储编号 ='" & Vars("qjsr01") & "'")
                qdr("器件编号") = Nothing
                qdr("规格型号") = Nothing
                qdr("器件特性") = Nothing
                dr("数量") = qdr ("数量")
                qdr("数量") = Nothing
            End If
        ElseIf dr("器件编号") <> e.DataRow("器件编号")
            Dim Result As DialogResult
            Result = MessageBox.Show("此物料位已存有不同元件,请另存别处!","入库出错啦!!")
            If Result = DialogResult.OK Then
                'Do
                    CurrentTable.Select(CurrentTable.Position,6,CurrentTable.Position,8)
                    CurrentTable.EditDelete
                'Loop While e.DataRow("存储_格号") <> Nothing
            End If
        End If
    End If
End If

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


加好友 发短信
等级:小狐 帖子:384 积分:2706 威望:0 精华:0 注册:2015/11/27 19:09:00
  发帖心情 Post By:2016/3/2 9:12:00 [只看该作者]

以下是引用Hyphen在2016/3/2 9:04:00的发言:
那是由于Tables("入库").Cols("存储_盒号").DropTree的赋值顺序引起的 ,改下顺序就好:

Dim tbrc As New DropTreeBuilder
tbrc.SourceTable = DataTables("存储") '指定目录树表
tbrc.TreeCols = "盒号|格号" '指定用于生成目录树的列
tbrc.SourceCols = "盒号|格号|存储编号" '指定数据来源列
tbrc.ReceiveCols = "存储_盒号|存储_格号|存储_存储编号" '指定数据接收列
Tables("入库").Cols("存储_盒号").DropTree = tbrc.Build()

另外代码不严谨,会导致程序假死,改下:
If e.DataCol.name = "存储_存储编号" Then
    If e.DataRow.IsNull("存储_存储编号") = False Then
        Dim hh As String = e.DataRow("存储_存储编号")
        Dim dr As DataRow = DataTables("存储").Find("存储编号 ='" & hh & "'")
        If dr.IsNull("数量") OrElse dr("数量") <= 0
            dr("器件编号") = e.DataRow("器件编号")
            dr("规格型号") = e.DataRow("规格型号")
            dr("器件特性") = e.DataRow("器件特性")
            If Vars("qjsr01") > "" Then
                Dim qdr As DataRow = DataTables("存储").Find("存储编号 ='" & Vars("qjsr01") & "'")
                qdr("器件编号") = Nothing
                qdr("规格型号") = Nothing
                qdr("器件特性") = Nothing
                dr("数量") = qdr ("数量")
                qdr("数量") = Nothing
            End If
        ElseIf dr("器件编号") <> e.DataRow("器件编号")
            Dim Result As DialogResult
            Result = MessageBox.Show("此物料位已存有不同元件,请另存别处!","入库出错啦!!")
            If Result = DialogResult.OK Then
                'Do
                    CurrentTable.Select(CurrentTable.Position,6,CurrentTable.Position,8)
                    CurrentTable.EditDelete
                'Loop While e.DataRow("存储_格号") <> Nothing
            End If
        End If
    End If
End If

哈哈,太感谢了,终于解决了


 回到顶部
总数 18 上一页 1 2