新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
list1.additem j 意思就是把j添加至list1列表中,这是在一个for 循环中,循环了10次,添加了10次 j,即 list1 中 有10列分别为:1,3,6,10,15,21,28,36,45,55
为蕉岭等地区用户提供了全套网页设计制作服务,及蕉岭网站建设行业解决方案。主营业务为网站建设、成都做网站、蕉岭网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
下面又来了一个循环, list1.removeitem 删除列,删除的是 list1.listcount - i ,list1.listcount 就是总列数为10,减去 i ,i 是1到4,即10-1,9-2,8-3,7-4 每减掉一次,list1.listcount 就少了一条记录。
(注意,list1.listcount-1 是最后一条记录)
减掉了第 9,7,5,3列
剩余为 1,3,6,15,28,45
结果为:3,15,28
'ListCount返回列表框中的项目总数
'ListCount-1是列表框中最后一个项目的索引号
'亏你提醒了,我写错了,上面修改了,第一个索引为0,最后一个为9.
'也就是,问题所问的第二列的索引为1,第四列的索引为3...
我 看了一下应该是你第一次连接上后,cnn.open就打开并持续开着,并没有关闭,所以,你断网后,第二次连接,他依然是打开的。
另外:
我个人建议你要学会用vb.net的组件,自己连太麻烦,他有现成的,你直接在数据库里选择添加新数据源,按照提示把数据库添加上,然后,你会看到你的程序下面会多了个数据集(dataset).
最后要做的就是使用这些数据集了。以form1为例,你添加一个datagridview,然后在他的数据源上选择刚才添加的项数据集中的某个数据表,然后你会看到,在form1中多了一个dataadapter,sqlconn,datset,并且在form1的load事件中,你会发现多了一条语句,dataadapet.fill(dataset)。
当你运行程序并更改了datagridview后,想要更新数据,只需要在后面,增加一个button,并设置他的click事件为:dataadapter.update(dataset)
怎么样,是不是还有一个问题想问?就是如何更改数据源,很简单,在form1的load事件中,dataadapter.fill(dataset)这条语句之前,再增加一条,sqlconn.ConnectionString = "server=**;database=**;uid=**;pwd=**;Connect TimeOut=2"这个就是你的数据源。
希望我的答案能令你满意。
第一个问题,存储数据:使用SqlCommand(如果是Sql的):Using cmd As New SqlCommand()�0�2 �0�2cmd.Connection = new SqlConnection("server=.;database=数据库名;integrated security=sspi")�0�2 �0�2cmd.Connection.Open()�0�2 �0�2cmd.CommandText=string.Format("Insert into 表名字 Values('{0}','{1}'",您的第一个字符串变量,第二个字符串变量【如果是数值类型的,不要在索引前加单引号了】)�0�2 cmd.NonExecuteQuery();'获取数据SqlDataAdapter adapter = new SqlDataAdapter(cmd);cmd.CommandText="select * from 表"DataTable dt = new DataTable()adapter.Fill(dt)DataGridView.DataSource = dtEnd Using
你为什么不将大量数据组织到DataSet或DataTable中,或者数组中。然后用循环来添加?
如果数据在 Excel 中你可以通过 工程--引用 选择 Excel Libery 11.0 (office2007 是12.0)
然后通过代码来访问Excel工作表。
dim xlapp as new excel.application
xlapp.workbooks.open (path filename) 比如: ....open ("c:\my.xls")
访问Excel工作表中的数据,给你一个范例,你就可以自己通过循环来实现了:
要读取sheet1,A1的数据:
dim data1 as string
data1=xlapp.workbooks("my.xls").sheets("sheet1").cells(1,1)
如果是 B5 那么就是Cells(5,2)找到规律了?
这个地方,你可以通过 with来简化
这样,你也不需要过度直接就可以添加到listview中了。
最后,记得用xlapp.workbooks("my.xls").close savechanges:=false
set xlapp = nothing
如果你要导入到 listview中还不如导入到 DataGridView中 listview中只有第一列的数据可以修改,而DataGridView的用法就非常灵活了,如果你一开始导入到DataTable中,还可以通过DataView来进行数据筛选
我觉得你是不是该给我加加分呀?说的我累死了
要使用ListView控件,需要加入组件:
Microsoft Windows Common Controls 6.0
Windows资源管理器的右半部分,就是一个ListView控件。
作用
列出并列关系的对象及对象属性。
ListView控件的对象层次结构
ListView -整个控件
ColumnHeaders -标题行
ColumnHeader -标题列
ListItems -对象行集合
ListItem -对象行
ListSubItems -对象属性集合
ListSubItem -对象属性
注意:SubItems和ListSubItems的区别:SubItems是一个String数组;ListSubItems是一个集合。
属性
View:设置ListView的外观
Sorted:设置ListView中的对象集合是否排序。
SortKey:设置以第几项排序。从零开始。
SelectedItem:返回选中的对象的引用。
事件
AfterLabelEdit:编辑ListItem对象的标签时被触发。
BeforeLabelEdit:编辑ListItem对象的标签后出发。
ColumnClick:单击列标题时触发。参数中可以获得被单击的列对象。通常用于排序。
ItemClick:单击某行或某ListItem时触发。参数中可以获得被单击的ListItem对象。
方法
FindItem:搜索ListItem对象。
参数:
string:搜索字符串。
value:在ListItem的哪部分中搜索(LvwText、LvwSubItem、LvwTag);index:开始搜索的位置。
match:匹配方式。
HitTest:检索位于特定坐标处的ListItem对象。
ListView控件比前面几种控件要复杂一些,通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。ListView控件是由ColumnHeader和ListItem对象所组成的,其中ColumnHeader对象的个数决定了控件的列数,而ListItem对象的个数则决定了控件的行数。(图7)
ColumnHeader对象是ListView控件中包含标头文字的项目。利用ColumnHeader对象,用户可以:
▲单击对象触发ColumnClick事件并根据数据项目将项目排序。
▲拖动对象的右边框来调整列宽度。
▲在报表视图中隐藏ColumnHeader对象。
ColumnHeader对象的数目决定每个ListItem对象可包含的子项目数目。删除ColumnHeader对象后所有与列关联的子项目也将被删除,并且每个ListItem对象的子项目数组将平移以更新ColumnHeader的索引,而这将导致剩余的列标头SubItemIndex属性的改变。
ColumnHeader对象的SubItemIndex属性
该属性返回与ListView控件中ColumnHeader对象关联的子项目的索引。子项目是字符串数组,代表显示在报表视图中的ListItem对象的数据。第一列的列标头SubItemIndex属性设置为0,这是因为小图标和ListItem对象的文字总出现在第一列中,而且它们被当作ListItem对象而不是子项目。列标头数目取决于子项目数目。列标头数目总是比子项目数目多1。
在设计时可以利用属性页的“列首”选项卡将ColumnHeader对象添加到ListView控件中,在运行时则用Add方法添加。
ColumnHeader对象的Add方法
该方法的使用与前面那些控件基本相似,就不再介绍了。
ListView1.ColumnHeader.Add(index,key,text,width,alignment)
ListItem对象是指控件中的一行(不包含标头行)的所有内容。它也可包含文本和图片,但是要使用图片则必须通过Icons和SmallIcons属性引用ImageList控件。
ListItem对象的SubItems属性
返回或设置一个字符串(子项目)数组,它代表ListView控件中ListItem对象的数据。
ListItem对象可包含任意多个的关联项目数据字符串(子项目),但每个ListItem对象子项目数目必须相同。每个子项目都对应于相关的列标头,无法直接向子项目数组添加元素,只有通过ColumnHeaders的Add方法添加列标头的方法来添加子项目。
ListItem对象的Add方法
该方法添加ListItem对象到ListView控件的ListItems集合中并返回对新创建对象的引用。
它的语法如下:
ListItem1.Add(index,key,text,icon,smallIcon)
ListView控件的View属性
ListView控件可使用四种不同视图显示项目,这可以用View属性来确定。该属性返回或设置ListView控件中ListItem对象的外观。
ListView控件的SortOrder,SortKey和Sorted属性
控件中的ListItem对象可以按要求进行排序,与排序有关的属性是SortOrder,Sorted和SortKey属性。
SortOrder属性返回或设置一个值,此值决定ListView控件中的ListItem对象以升序或降序排序。
SortKey属性返回或设置一个值,此值决定ListView控件中的ListItem对象如何排序。
Sorted属性返回或设置确定ListView控件中的ListItem对象是否排序的值。
下面的代码说明了如何创建ColumnHeaders和ListItem对象,SubItemIndex和SubItem属性的使用方法以及如何排序。
Private Sub Form_load()
'确保ListView控件的view属性为报表视图。
ListView1.View=lvwReport
'添加三列。
ListView1.ColumnHeaders.Add,"Name","姓名"
ListView1.ColumnHeaders.Add,"Sex","性别"
ListView1.ColumnHeaders.Add,"Age","年龄"
'向控件添加ListItem对象。
Dim itmX As ListItem
'添加column1的名称。
Set itmX=ListView1.ListItems.Add(1,"ZL","张力")
'使用SubItemIndex将SubItem与正确的ColumnHeader关联。使用关键字("Sex")指定正确的ColumnHeader。
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
'使用ColumnHeader关键字将SubItems字符串与
'正确的ColumnHeader关联。
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="19"
Set itmX=ListView1.ListItems.Add(1,"LF","李芳")
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="22"
Set itmX=ListView1.ListItems.Add(1,"WW","王伟")
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="24"
End Sub
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ComctlLib.ColumnHeader)
Select Case ColumnHeader.Key
Case "Sex":ListView1.SortKey=1
ListView1.SortOrder=lvwAscending
ListView1.Sorted=True
Case "Age":ListView1.SortKey=2
ListView1.SortOrder=lvwAscending
ListView1.Sorted=True
End Select
End Sub