ListView加载的问题
StalistView是一个WinForm里面的ListView控件 
 绑定行大约1800,我第一次登录,绑定较快,但是当我重登录的时候,这就很慢 
 麻烦大家给指点下,我跟一下,时间就耗在循环的地方,令我奇怪的是,为什么第一次和第二次差近8秒种时间,才能加载  	 
 	private   void   LoadStaListToStalistView() 
 		{ 
 			DataSet   Ds   =   new   DataSet(); 
 			Da   =   new   SqlDataAdapter( "Select   *   from      StationInfo   Order   by   StationID "   ,   Conn)   ; 
 			Da.Fill(Ds);   
 			StalistView.Items.Clear(); 
 			for(int   i=0   ;i <   Ds.Tables[0].Rows.Count   ;   i++   ) 
 			{ 
 				ListViewItem   item1; 
 				item1=   StalistView.Items.Add(   Ds.Tables[0].Rows[i][ "StationID "].ToString()   ); 
 				//item1.SubItems.Add(   Ds.Tables[0].Rows[i][ "Accounts "].ToString()   );    
 				item1.SubItems.Add(   Ds.Tables[0].Rows[i][ "StationName "].ToString()   ); 
 				item1.SubItems.Add(   Ds.Tables[0].Rows[i][ "MAC "].ToString()   ); 
 				item1.ImageIndex   =   10   ;   
 			}   
 			this.StalistView.ListViewItemSorter   =   new   CustomCls.ListViewItemComparer(0,0,this.StalistView.Sorting);			 
 		}
------解决方案--------------------			StalistView.Items.Clear(); 
 StalistView.BeginUpdate(); //加这个 
 			for(int i=0 ;i < Ds.Tables[0].Rows.Count ; i++ ) 
 			{ 
 				ListViewItem item1; 
 				item1= StalistView.Items.Add( Ds.Tables[0].Rows[i][ "StationID "].ToString() ); 
 				//item1.SubItems.Add( Ds.Tables[0].Rows[i][ "Accounts "].ToString() );  
 				item1.SubItems.Add( Ds.Tables[0].Rows[i][ "StationName "].ToString() ); 
 				item1.SubItems.Add( Ds.Tables[0].Rows[i][ "MAC "].ToString() ); 
 				item1.ImageIndex = 10 ;   
 			} 
 StalistView.EndUpdate(); //加这个
------解决方案--------------------估计你的时间花在 StalistView.Items.Clear();上
------解决方案--------------------把 
 StalistView.Items.Clear(); 
 改成手动逐个删除
------解决方案--------------------Items.Clear()会比较费时间..
------解决方案--------------------TO:为什么第一次和第二次差近8秒种时间,才能加载   
 之所以时间会相差这么多,主要是因为都花在清除ListView所有项..   
 所以你用“BeginUpdate(),EndUpdate()只是完成一次性加载”没有什么效果..   
 但你1800条记录删除,花几秒钟也情有可原啊..     
------解决方案--------------------应该是这一句出问题:第一次你可能不需要StalistView.Items.Clear();但是第二次你有了1800
------解决方案--------------------能不能不用ListView,用DataGridView可以不?   
 那样直接绑定数据源,也不涉及删除的操作,重新绑定就行了..     
 如果非得用ListView,你别用DataTable,换成DataReader看看会不会稍快一点(至于哪个快,我也不是很清楚),但就算快,也只能提高循环加载ListView的速度,对于删除还是一样的效果..   
 因为你的记录不少哦,一千多条啊..
------解决方案--------------------ListView删除速度最快,应该是这样了..   
 StalistView.BeginUpdate(); //加这个 
 StalistView.Items.Clear(); 
 StalistView.EndUpdate(); //加这个   
 把添加的也一起放在里面,试试,看速度能提高多少..