找回密码
 立即注册

QQ登录

只需一步,快速开始

tangshanman

银牌会员

11

主题

16

帖子

3287

积分

银牌会员

积分
3287

活字格认证

tangshanman
银牌会员   /  发表于:2015-8-12 08:59  /   查看:3868  /  回复:3
Private Sub FpSpread1_MouseDown(sender As Object, e As MouseEventArgs) Handles FpSpread1.MouseDown
        '单元格为button时,触发的是MOUSEDOWN事件
        '获取点击的单元格坐标方法
        Dim info As FarPoint.Win.Spread.HitTestInformation
        info = Me.FpSpread1.HitTest(e.X, e.Y)
        '因为鼠标的点击都会触发mousedown事件做转换,但是点击border等区域的时候是无法获取到行列的信息,
        '这种情况下hittestinfomation.viewportinfo是null, 所以要添加一个判断如下
              If info.ViewportInfo.Row.ToString = -1 Then
            MsgBox("未选中任何数据行。", MsgBoxStyle.Information)
        Else
            此处是执行的数据库操作代码
        End If
    End Sub

以上是写的防止点到非行列区域报错,按此方法行列内无数据点击报错已解决,但单击列头时还会报错,应如何处理?另外,如果想单击列头,则按列头排序如何实现?

3 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-8-12 09:59:00
沙发
您好,
根据我对您问题的理解,需要将是否是行列的头需要进行判断进行单独的处理,可以参考以下代码

  1. info.Type = FarPoint.Win.Spread.HitTestType.ColumnHeader
复制代码

  1. info.Type = FarPoint.Win.Spread.HitTestType.RowHeader
复制代码


不知道是否能够解决您的问题。

评分

参与人数 1满意度 +5 收起 理由
rbgongming + 5 这个回复不了,可以移动到能回复的地方吗

查看全部评分

回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-8-24 09:16:00
板凳
您好,
距离这个问题的最后回复已经过去了一段时间,不知道这个问题您是否已经解决?
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-8-31 18:09:00
地板
您好,
距离这个问题的最后回复已经过去了一段时间,不知道这个问题您是否已经解决?
如果没有解决,欢迎跟贴接续讨论,如果已经解决请对本次服务进行评分。
我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部