Foxtable(狐表)用户栏目专家坐堂 → [求助]多选时StartEdit只对选择区的第一行生效怎么办?


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

主题:[求助]多选时StartEdit只对选择区的第一行生效怎么办?

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
[求助]多选时StartEdit只对选择区的第一行生效怎么办?  发帖心情 Post By:2017/5/22 17:34:00 [显示全部帖子]

如题,在openQQ独占编程使用时,发现在一次选择多行,用delete删除时,StartEdit中的代码只对选择区的第一行生效,怎么整?
图片点击可在新窗口打开查看此主题相关图片如下:68b8deef-8811-4b4f-868c-231f04192e15.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2017/5/22 17:42:00 [显示全部帖子]

If e.Col.Name <> "品名规格" AndAlso e.Col.Name <> "销售单号" Then
    Dim r As Row = e.Table.Current
    If r.DataRow.RowState = DataRowState.Added Then '新增行正常编辑
        Return
    End If
    If QQClient.Ready = False Then '如果QQClient没有启动,则禁止编辑
        PopMessage("必须启动QQClient,才能编辑此表数据!","提示",PopIconEnum.Infomation,5)
        e.Cancel = True
        Return
    End If
    Dim key As String = e.Table.DataTable.Name  & ":" & r("销售单号") & ":" & e.Col.Name
    If tbrk.Contains(key) Then '如果本人之前已经编辑此行,则正常编辑
        Return
    Else '如果本人之前没有编辑此行
        Dim msg = QQClient.SendWait("?#" & Key & "#?",5) '向服务器发送请求编辑信息
        If msg = "OK" Then '如果服务器返回OK
            tbrk.Add(key) '在本地登记正在编辑此行
        ElseIf msg > "" Then '否则显示服务器返回的信息,并取消编辑
            PopMessage("无法编辑此单元格,因为:" & vbcrlf & msg ,"提示",PopIconEnum.Infomation,5)
            e.Cancel = True
        Else '如果服务器没有返回信息,则取消编辑
            PopMessage("因服务器无响应,无法编辑此行!" ,"提示",PopIconEnum.Infomation,5)
            e.Cancel = True
        End If
    End If
End If

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2017/5/23 8:00:00 [显示全部帖子]

一定要这样吗?程序能不能更新一下,让StartEdit支持所有的变动行哪?


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2017/5/23 8:02:00 [显示全部帖子]

这样整,不仅是delete,还有Ctrl+D也有这些问题。去写KeyDown事件,还不如去写

DataColChanging

事件。

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2017/5/23 9:19:00 [显示全部帖子]

以下是引用有点色在2017/5/23 9:02:00的发言:

2楼的代码,这句 Dim r As Row = e.Table.Current

 

要改成 Dim r As Row = e.Row

OK了,谢谢!


 回到顶部