搬家第五天-103.Wincc V7.3 ListView控件使用初步5-修改任意行某单元格数据

前面的博客是通过脚本修改指定单元格的数据,有时候我们要修改的数据事先不知道是第几行,这时我们就多做一部分工作了。假设我们需要修改某一行第四列的数据,数据由用户输入。画面上有一个ListView控件,名字叫做LV,一个静态文本,名字叫做RowIndex(用于存放行序号),一个输入输出域(输入类型),名字叫做txt,用于用户输入,一个按钮,用于修改数据。假设ListView已经装入了数据。我们在ListView控件属性勾选FullRowSelect属性。在ListView控件的ItemClick事件中添加以下vbs脚本:

Sub ItemClick(ByVal Item,  ByRef ObjectItem)            
Dim LV,txt,RowIndex,CtrlRowIndex
Set LV=ScreenItems("LV")
Set txt=screenitems("txt")
Set ctrlRowIndex=screenitems("RowIndex")
RowIndex=LV.SelectedItem.Index
txt.OutputValue =LV.listitems.item(RowIndex).listsubitems.item(4)
ctrlRowIndex.Text=RowIndex
End Sub

上述脚本就把当前行序号和第四列数值存入相应的控件。

画面上修改按钮的鼠标点击事件添加以下vbs脚本:

Sub OnClick(ByVal Item)         
Dim LV,txt,ctrlRowIndex,RowIndex
Set LV=ScreenItems("LV")
Set ctrlRowIndex=ScreenItems("RowIndex")
Set txt=ScreenItems("txt")
RowIndex=CInt(ctrlRowIndex.Text)
LV.listItems.item(RowIndex).ListSubitems.item(4)=txt.InputValue
End Sub

保存运行项目,当点击某一行时,就会记录行序号和第四行数值,如果修改输入输出域然后点击修改按钮,就会用输入的数据来修改该行第四列数据。实际使用中,可以先判断是不是一个空的ListView,如果是空的,就没必要修改了。

上一篇:用纯win32编程响应消息


下一篇:搬家第五天-120.Wincc V7.3 ListView控件初步使用12-删除选定的行