以文本方式查看主题

-  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,求大神帮助。
同样的问题,也出现在增加会员与增加商品里。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:酒吧管理软件.rar



密码是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