C# listView的显示问题,不知道为什么显示不出来,网上找不到答案
具体内容如下:(连接数据库成功后,我的建立相关列是否正确?) 
 private	void   myForm_Load(object	sender,	System.EventArgs   e) 
 { 
 	this.listView1.Items.Clear(); 
 	string   ConnectionString= "Data   Source=test;user=test;password=test; ";    
 	OracleConnection   conn=new   OracleConnection(ConnectionString);    
 	try 
 	{ 
 		conn.Open(); 
 		string   cmdString= "select   *   from	test_table "; 
 		OracleCommand   cmd=new   OracleCommand(cmdString,conn); 
 		OracleDataReader   dr=cmd.ExecuteReader(); 
 		while(dr.Read()) 
 		{ 
 		                        //设置listview的基本样式  			 
                                                                                  this.listView1.GridLines=true; 
 			this.listView1.FullRowSelect=true; 
 			this.listView1.View=View.Details; 
 			this.listView1.Enabled=true; 
 			this.listView1.Scrollable=true; 
 			this.listView1.MultiSelect=false; 
 		this.listView1.HeaderStyle=ColumnHeaderStyle.Clickable;  			 
                                                                         //读出数据来,   自动生成列标头  			 
                                                                         for(int	i=0;i <dr.FieldCount;i++) 
 			{ 
 				//读出数据来,   自动生成列标头 
 				ColumnHeader   ch=new   ColumnHeader(); 
 				ch.Text=dr.GetName(i).ToString(); 
 				this.listView1.Columns.Add(ch); 
 				//循环显示列 
 				ListViewItem   lvi=new   ListViewItem(); 
 				lvi.SubItems[i].Text=dr.GetValue(i).ToString(); 
 				this.listView1.Items.Add(lvi); 
 			}   
 		} 
 		dr.Close(); 
 		MessageBox.Show( "成功显示信息! "); 
 	} 
 	catch 
 	{ 
 		MessageBox.Show( "打开数据库失败! ", "提示! ",MessageBoxButtons.YesNoCancel); 
 	} 
 	finally 
 	{ 
 		//关闭connection 
 		conn.Close(); 
 	} 
 }
------解决方案--------------------好像是ListView设置显示方式的问题: 
                         for(int	i=0;i <dr.FieldCount;i++) 
 			{ 
 				//读出数据来, 自动生成列标头 
 				ColumnHeader ch=new ColumnHeader(); 
 				ch.Text=dr.GetName(i).ToString(); 
 				this.listView1 .Columns.Add(ch); 
 				//循环显示列 
 				ListViewItem lvi=new ListViewItem(); 
 				lvi.SubItems[i].Text=dr.GetValue(i).ToString(); 
 				this.listView1.Items.Add(lvi); 
 			} 
 添加列和显示行放在一起?能行吗?表示怀疑
------解决方案--------------------  关于你的问题,有几个方面 
 1、动态添加列和添加行放在同一个循环是不妥的 
    应该是先初始化所有列,然后便利所有行,各自一个循环 
 2、你查询的这个表,字段是否都是字符型或可以转成字符型 
    如果不是,比如Image等,使用你的GetValue(i).ToString()就可能报错
------解决方案--------------------如果都加在一起应该做个双循环,加一列,然后subitems也应该加一列吧?
------解决方案--------------------http://community.csdn.net/Expert/topic/5741/5741947.xml?temp=.2248346