Foxtable(狐表)用户栏目专家坐堂 → 怎么获取Table控件中的当前选择数据行?


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

主题:怎么获取Table控件中的当前选择数据行?

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


加好友 发短信
等级:幼狐 帖子:80 积分:916 威望:0 精华:0 注册:2018/4/26 17:01:00
怎么获取Table控件中的当前选择数据行?  发帖心情 Post By:2019/1/6 12:37:00 [显示全部帖子]

请教下各位老师,
现在想用MouseDown从Table控件中拖动出一条自定义结构变量DragData作为DoDragDrop的data ,但是发现没办法从Table控件中获取当前选择的数据行.

结构变量定义如下:
Public Structure DragData
    Public dtRow As DataRow '对应DataRow
    Public MainKey As String '主键列名
End Structure

MouseDown事件将被添加到Table控件的Winform.Control中. 
如何从这个Winform.Control获取当前选择的数据行?


还是说我思路错了?应该将MouseDown事件代码添加到其他对象?

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


加好友 发短信
等级:幼狐 帖子:80 积分:916 威望:0 精华:0 注册:2018/4/26 17:01:00
  发帖心情 Post By:2019/1/8 16:40:00 [显示全部帖子]

甜老师你好,
在Table控件中拖动已经实现,现在问题是不知道如何给table控件动态添加MouseDown事件并获取选定行的Datarow,请问有公开的属性可以操作吗?

代码如下:
Public Sub Table_MouseDown(ByVal Sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) '定义Table MouseDown事件获取指定数据
If Typeof Sender Is System.Windows.Forms.Control ’由于Winform.Control跟Winform.Table没有MouseDown事件。Sender只能是System.Windows.Forms.Control类型. 
    TempDragData.dtRow = ’获取事件触发时的选定行
    TempDragData.MainKey = ‘获取事件发生时的选定列名
End if
End Sub

我也想过用Click事件做这个功能,但是试了一下发现必须要点击完成一次之后才能获取到数据。所以只能在MouseDown时便给TempDragData赋值
TempDragData定义如下:
Public Structure DragData
    Public dtRow As DataRow  '对应DataRow
    Public MainKey As String '主键列名
End Structure
Public TempDragData As DragData



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


加好友 发短信
等级:幼狐 帖子:80 积分:916 威望:0 精华:0 注册:2018/4/26 17:01:00
  发帖心情 Post By:2019/1/8 17:04:00 [显示全部帖子]

论坛添加附件这个按钮好像没用了,我上传到我的服务器了,麻烦老师通过这个链接下载http://oa.mactorvalve.com:8080/project/example.rar

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


加好友 发短信
等级:幼狐 帖子:80 积分:916 威望:0 精华:0 注册:2018/4/26 17:01:00
  发帖心情 Post By:2019/1/8 17:19:00 [显示全部帖子]

看了老师您的例子,通过给C1FlexGrid添加事件实现。不过我对C1FlexGrid不太熟悉,请问如何获取其对应Datatable以及触发事件位置的DataRow?
或者在哪里可以找到这个控件的属性方法列表

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


加好友 发短信
等级:幼狐 帖子:80 积分:916 威望:0 精华:0 注册:2018/4/26 17:01:00
  发帖心情 Post By:2019/1/9 13:00:00 [显示全部帖子]

老师好,再次麻烦你,
看了你的例子,发现最终返回的数据还是C1.Win.C1FlexGrid.Row类型。 请问是否有方法从这个控件获取其数据源?即其DataTable

 回到顶部