以文本方式查看主题 - 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=63652) |
-- 作者:hillghost -- 发布时间:2015/1/25 20:19:00 -- [求助]关于listview 自动同步表内数据的问题 自己做了个软件,现在好多功能都还没有完善 现在遇到个问题,在listview里选择数据,修改后,不能同步显示出来。 问题在几个窗口里都有 1、主窗口,选择餐台,点击开单,餐台表里的数据变了,但是在主窗口listview里的数据却没有变。 不知道问题出在哪里了,刚开始学习foxtabl,求大神帮助。 同样的问题,也出现在增加会员与增加商品里。 密码是1
[此贴子已经被作者于2015-1-25 20:23:52编辑过]
|
-- 作者:有点甜 -- 发布时间:2015/1/25 20:20:00 -- 必须重新生成一次listView |
-- 作者:hillghost -- 发布时间:2015/1/25 20:20:00 -- 求大神帮忙看下问题出现在哪里。我没有学过编程,这些都是这几天自己琢磨的,全靠自带帮助闹的,代码比较乱。 |
-- 作者:hillghost -- 发布时间:2015/1/25 20:22:00 -- 忘了,密码是1 |
-- 作者:hillghost -- 发布时间:2015/1/25 20:23:00 -- 代码怎么修改啊? |
-- 作者:hillghost -- 发布时间:2015/1/25 20:25:00 -- 代码写在什么位置,怎么写? |
-- 作者:有点甜 -- 发布时间:2015/1/25 20:28:00 -- datacolchanged事件
If Forms("主窗口").Opened Then Dim lvw As WinForm.ListView = Forms("主窗口").Controls("ListViewindex") lvw.StopRedraw() \'暂停绘制 lvw.Rows.Clear() \'清除原来的行 lvw.Images.Clear() \'清除原来的图片 lvw.View = ViewMode.LargeIcon \'显示模式为大图标 lvw.Images.AddLargeImage("kong", "kong.ico") \'添加代表空的一对图标 lvw.Images.AddLargeImage("man", "man.ico") \'添加代表女性的一对图标 lvw.Images.LargeSize = New Size(96,96) \'定义大图标尺寸 For Each dr As DataRow In DataTables("餐台表").DataRows \'从数据表中提取数据 Dim vr As WinForm.ListViewRow = lvw.Rows.Add() \'增加一行 vr.Text = dr("餐台名称") \'设置标题 If dr("餐台状态") = "空" Then \'设置分组 vr.ImageKey = "kong" Else vr.ImageKey = "man" End If vr.Tag= dr \'将DataRow赋值给ListViewRow的Tag属性,将二者联系起来 Next lvw.ResumeRedraw() \'恢复绘制 End If |
-- 作者:hillghost -- 发布时间:2015/1/25 20:38:00 -- 谢谢甜版,这次就知道了。 |
-- 作者:hillghost -- 发布时间:2015/1/25 21:02:00 -- 一个一个的解决问题,一个一个的新问题。。。继续努力。
[此贴子已经被作者于2015-1-25 21:07:23编辑过]
|
-- 作者:有点甜 -- 发布时间:2015/1/25 21:11:00 -- If Forms("商品列表").Opened Then Dim lvesp As WinForm.ListView = Forms("商品列表").Controls("ListView2") lvesp.StopRedraw lvesp.Rows.Clear lvesp.Columns.Clear lvesp.View = ViewMode.Details lvesp.GridLines = True \'显示网格线 Dim cls() As String = {"商品编码","商品名称","单位","单价","不参与折扣","拼音简写"} \'定义列名 Dim wds() As String = {100,100,100,100,100,100} \'定义列宽 For i As Integer = 0 To cls.Length - 1 \'增加列 Dim c As WinForm.ListViewColumn = lvesp.Columns.Add() c.Text = cls(i) \'指定列标题 c.Name = cls(i) \'指定列名 c.Width = wds(i) \'指定列宽 Next For Each dr As DataRow In DataTables("商品列表").DataRows \'从数据表中提取数据 Dim vr As WinForm.ListViewRow = lvesp.Rows.Add() \'增加一行 For Each cl As String In cls \'逐列取值 vr(cl) = dr(cl) Next vr.Tag= dr \'将DataRow赋值给ListViewRow的Tag属性,将二者联系起来 Next lvesp.ResumeRedraw() \'恢复绘制 End If |