回 帖 发 新 帖 刷新版面

主题:有个问题卡死我了,大家帮帮忙啊

是这样的,在VB.net中,
Private Sub FrmMain_Load(…………) Handles MyBase.Load
        Dim sqlstr As String
        sqlstr = "Server=(local);Database=BookSystem;uid=sa;pwd=1234"      
        Dim ConnsqlPHO As New SqlConnection(sqlstr)
        ConnsqlPHO.Open()
        Dim biaoPHO As New SqlCommand("select * from photolist")
        biaoPHO.Connection = ConnsqlPHO
        Dim myReaderPHO As SqlDataReader
        myReaderPHO = biaoPHO.ExecuteReader(CommandBehavior.CloseConnection)
        Do While myReaderPHO.Read 
            Dim myItem2 As New ListViewItem
            myItem2.Text = myReaderPHO.Item("ID") 
            myItem2.SubItems.Add(myReaderPHO.Item("mane)").ToString())
            myItem2.SubItems.Add(myReaderPHO.Item("efe").ToString())
            myItem2.SubItems.Add(myReaderPHO.Item("etr").ToString())
            ListView1.Items.Add(myItem2)     
        Loop
可以实现SQL中的表数据显示于listview1(运行,主窗体FrmMain_Load产生事件)

我用一个子窗体对SQL中的数据进行修改并能保存成功。如果重新运行,可以
在listview1中显示修改后的效果。问题是这样的,我想在子窗体中修改保存后
能够在listview1中马上显示出效果,也就是马上刷新listview1中的数据。不需要
重新运行才能看到修改后的效果。
请大家帮帮忙啊,几天了都做不出来,很郁闷[em10][em10][em10][em18][em18][em18][em4]

回复列表 (共17个回复)

沙发

把你上面的那段代码做成一个function(在主窗体中),比如叫 datashow()
你在主窗体(Form1)的那个调用子窗体(Form2)的Button1.Click中写
dim form2 as new form2
form2.showdialog() ’这个可以禁止当前的窗体
datashow() ’当子窗体结束后再重新填充Listview1中的数据

form1_load事件也直接写 datashow()

在form2中就按照你原来的代码写就可以了

板凳

昨天就看到了你的回复,只是没有空,谢谢了,

依据你的指出,有个新问题,
dim form2 as new form2
form2.showdialog() ’这个可以禁止当前的窗体
datashow() ’当子窗体结束后再重新填充Listview1中的数据

那不是再重新填充Listview1中的数据,而是在子窗体结束后Listview1下添加
了新的数据,旧的数据还没有除掉,
我做的datashow()函数,代码没有改动,是不是少了什么[em20]

3 楼

是不是你的LISTVIEW中同时出现了两次你选择的数据??
那你在里面加一句,LISTVIEW1.clear()
先清空掉,再填充

4 楼

dim form2 as new form2
form2.showdialog() ’这个可以禁止当前的窗体
listview1.clear()
datashow() ’当子窗体结束后再重新填充Listview1中的数据


在这添加了listview1.clear(),如果运行时可以清空了,但没有重新填充Listview1中的数据。应该是listview1.clear()这东东放错了位置,放在哪呢?
呵呵,再指点

5 楼

listview1.clear()
好像这东西,是从控件中移除所有项和列,不是清空数据,
对不,还是要带什么参数?

[em9]

6 楼

ListView1.Items.Clear()

7 楼

呀,我太笨了,竟然想不到这点.

8 楼

搞定了没???

9 楼

刚才有点事,不在

现在好了,谢谢你啊
对了,还有一个小问题,listview中如何表达出来,我选择的是那一列呢
ListView1_ColumnClick……  这个是所有的列都产生事件呀

10 楼

估计是有个
ListView1.SelectedItem

其实我一开始就想跟你说,我没有用过ListView,汗……

我来回复

您尚未登录,请登录后再回复。点此登录或注册