主题:有个问题卡死我了,大家帮帮忙啊
cky726
[专家分:50] 发布于 2005-11-10 08:55:00
是这样的,在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]
最后更新于:2007-09-06 13:48:00
回复列表 (共17个回复)
沙发
宝宝啊呜 [专家分:990] 发布于 2005-11-10 09:28:00
把你上面的那段代码做成一个function(在主窗体中),比如叫 datashow()
你在主窗体(Form1)的那个调用子窗体(Form2)的Button1.Click中写
dim form2 as new form2
form2.showdialog() ’这个可以禁止当前的窗体
datashow() ’当子窗体结束后再重新填充Listview1中的数据
form1_load事件也直接写 datashow()
在form2中就按照你原来的代码写就可以了
板凳
cky726 [专家分:50] 发布于 2005-11-11 08:41:00
昨天就看到了你的回复,只是没有空,谢谢了,
依据你的指出,有个新问题,
dim form2 as new form2
form2.showdialog() ’这个可以禁止当前的窗体
datashow() ’当子窗体结束后再重新填充Listview1中的数据
那不是再重新填充Listview1中的数据,而是在子窗体结束后Listview1下添加
了新的数据,旧的数据还没有除掉,
我做的datashow()函数,代码没有改动,是不是少了什么[em20]
3 楼
宝宝啊呜 [专家分:990] 发布于 2005-11-11 09:01:00
是不是你的LISTVIEW中同时出现了两次你选择的数据??
那你在里面加一句,LISTVIEW1.clear()
先清空掉,再填充
4 楼
cky726 [专家分:50] 发布于 2005-11-11 09:57:00
dim form2 as new form2
form2.showdialog() ’这个可以禁止当前的窗体
listview1.clear()
datashow() ’当子窗体结束后再重新填充Listview1中的数据
在这添加了listview1.clear(),如果运行时可以清空了,但没有重新填充Listview1中的数据。应该是listview1.clear()这东东放错了位置,放在哪呢?
呵呵,再指点
5 楼
cky726 [专家分:50] 发布于 2005-11-11 10:21:00
listview1.clear()
好像这东西,是从控件中移除所有项和列,不是清空数据,
对不,还是要带什么参数?
[em9]
6 楼
宝宝啊呜 [专家分:990] 发布于 2005-11-11 10:36:00
ListView1.Items.Clear()
7 楼
cky726 [专家分:50] 发布于 2005-11-11 10:41:00
呀,我太笨了,竟然想不到这点.
8 楼
宝宝啊呜 [专家分:990] 发布于 2005-11-11 10:46:00
搞定了没???
9 楼
cky726 [专家分:50] 发布于 2005-11-11 11:47:00
刚才有点事,不在
现在好了,谢谢你啊
对了,还有一个小问题,listview中如何表达出来,我选择的是那一列呢
ListView1_ColumnClick…… 这个是所有的列都产生事件呀
10 楼
宝宝啊呜 [专家分:990] 发布于 2005-11-11 15:17:00
估计是有个
ListView1.SelectedItem
其实我一开始就想跟你说,我没有用过ListView,汗……
我来回复