以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  ListView问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54837)

--  作者:tj-pacer
--  发布时间:2014/8/5 21:25:00
--  ListView问题

如下是帮助文件ListView和数据表的互动

的内容,

3、将ListView的RowActivate事件代码设置为:

Dim
btn As WinForm.Button = e.Form.Controls("btnEdit")
btn
.PerformClick()

搞不懂为什么双击行可以打开“员工信息”窗口,btnEdit是如何和“员工信息”建立联系的哪?帮助文件没写清楚呀。

 

 


--  作者:有点甜
--  发布时间:2014/8/5 21:30:00
--  

 已经写了

 

修改

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
Dim vr As WinForm.ListViewRow = lvw.Current \'获取ListView的当前行
If vr Is Nothing Then \'如果不存在当前行,也就是内有选定任何一行
    Return
End If
Dim dr As DataRow = vr.tag \'获取此行对应的DataRow
Dim ps As Integer = Tables("员工").FindRow(dr)
If ps >= 0 Then
    Tables("员工").Position = ps
    Forms("员工信息").Open
    For Each cl As WinForm.ListViewColumn In lvw.Columns \'逐列更新值
        vr(cl.Name) = r(cl.Name)
    Next
End If


--  作者:tj-pacer
--  发布时间:2014/8/5 21:51:00
--  

还是搞不明白,两个例子,一个例子是 “btnEdit” 打开的是“员工信息”窗口,另一各例子是“btnModify"打开的是 “国家信息”窗口,Edit 和Modify和窗口的关系在哪体现?

Dim btn As WinForm.Button = e.Form.Controls("btnEdit")
btn
.PerformClick()

 


--  作者:有点甜
--  发布时间:2014/8/5 21:55:00
--  

 回复3楼,关键是去看对应按钮的代码,比如2楼的按钮代码。

 

 定位到员工对应的行,打开窗口,自然显示的是此行的数据。

 

Dim dr As DataRow = vr.tag \'获取此行对应的DataRow
Dim ps As Integer = Tables("员工").FindRow(dr)

 


--  作者:tj-pacer
--  发布时间:2014/8/5 23:29:00
--  

谢谢甜版主,我试着做了示例,报错“找不到名为btnEdit的控件“


--  作者:blackzhu
--  发布时间:2014/8/6 7:49:00
--  
这个应该是单击listview的时候,模拟单击了一个按钮,这个按钮应该是隐藏的.你检查下
[此贴子已经被作者于2014-8-6 7:50:06编辑过]

--  作者:狐狸爸爸
--  发布时间:2014/8/6 8:41:00
--  
以下是引用tj-pacer在2014-8-5 23:29:00的发言:

谢谢甜版主,我试着做了示例,报错“找不到名为btnEdit的控件“

 

错误提示很明显,代码使用了名为btnEdit的控件,实际上却不存在这个控件。


--  作者:tj-pacer
--  发布时间:2014/8/6 8:50:00
--  

开发指南里的例子就是这样的,这也是我一直在问的问题,btnEdit的空间在哪?


--  作者:Bin
--  发布时间:2014/8/6 8:51:00
--  
有个 e.Form.Controls("btnEdit") 按钮控件, 里面有打开窗口代码
--  作者:tj-pacer
--  发布时间:2014/8/6 9:02:00
--  

我晕了,又回到我的第一个问题了,看了开发指南里的listview示例18,说明、代码也都看来,e.form.controls("btnEdit") 里面打开窗口的代码在哪?