Foxtable(狐表)用户栏目专家坐堂 → listview 的事件响应(已解决)


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

主题:listview 的事件响应(已解决)

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
listview 的事件响应(已解决)  发帖心情 Post By:2014/10/29 23:27:00 [只看该作者]

listview是这样构建的
Dim lvw As WinForm.ListView = e.Form.Controls("sample_lv")
    lvw.StopRedraw() '暂停绘制
    lvw.Rows.Clear() '清除原来的行
    lvw.Images.Clear() '清除原来的图片
    lvw.CheckBoxes = True '显示复选框
    Dim lr As  WinForm.ListViewRow
    For Each dr As DataRow In DataTables("开发样品表").DataRows
        lvw.Images.AddLargeImage(dr("_identify"),dr("图片"))
        lr = lvw.Rows.Add()
        lr.Text = dr("工厂款号")
        lr.ImageKey = dr("_identify")
        lr.Tag = dr
    Next
    lvw.View = ViewMode.LargeIcon
    lvw.Images.LargeSize = New Size(96,48)
    lvw.ResumeRedraw() '恢复绘制


listview的rowchecked事件
MessageBox.Show(e.Row.Tag("工厂款号"))

选中checkbox可以正确显示 工厂款号
问题是 每次构建新的listview,比如加载下一页 datatable,重新构建listview,每一条datarow提示一次

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.10.23.1
错误所在事件:窗口,开发样品窗口,sample_lv,Click
详细错误信息:
未设置对象变量或 With 块变量。

其他一切正常!
请帮忙!!!


经过测试发现时这句会出现提示

lvw.Rows.Add()

但是不知道原因。。。哪位知道怎么回事?是不是要什么new 构建对象。。但是不知道怎么构建WinForm.ListViewRow,代码是case study里面的啊


自己找到原因了,刚加listviewrow的时候checkbox状态就发生变化,这时候的datarow还没有加进去,代码改成以下就不提示
If e.Row.Tag Is Nothing Then
MessageBox.Show("nothing") 
Else 
MessageBox.Show(e.Row.Tag("工厂款号")
End If



 回到顶部