以文本方式查看主题 - 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=59123) |
-- 作者:arthurshoe -- 发布时间:2014/10/29 23:27:00 -- listview 的事件响应(已解决) 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 |