首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

高手们啊帮帮忙啊关于LISTVIEW的显示有关问题

2012-01-23 
高手们啊!十万火急!帮帮忙啊!关于LISTVIEW的显示问题我做了FORM来显示LISTVIEW,当不加载InitializeCompone

高手们啊!十万火急!帮帮忙啊!关于LISTVIEW的显示问题
我做了FORM来显示LISTVIEW,当不加载InitializeComponent();时,可以正确显示表中的内容,但是一加载InitializeComponent();时,就成白板了,高手们,这是什么原因啊!

using   System;
using   System.Drawing;
using   System.Collections;
using   System.ComponentModel;
using   System.Windows.Forms;
using   System.Data;
using   System.Data.OleDb;

namespace   WEFSINFO
{
public   class   frmlistv:   Form  
{   //   定义数据连接的字符串  

private   System.Windows.Forms.ListView   lv;
Database   data   =   new   Database();
//private   ListView   lv;

private   void   InitializeComponent()
{
this.lv   =   new   System.Windows.Forms.ListView();
this.SuspendLayout();
//  
//   lv
//  
this.lv.Dock   =   System.Windows.Forms.DockStyle.Fill;
this.lv.Location   =   new   System.Drawing.Point(0,   0);
this.lv.MultiSelect   =   false;
this.lv.Name   =   "lv ";
this.lv.Size   =   new   System.Drawing.Size(584,   387);
this.lv.TabIndex   =   0;
//  
//   frmlistv
//  
this.AutoScaleBaseSize   =   new   System.Drawing.Size(6,   14);
this.ClientSize   =   new   System.Drawing.Size(584,   387);
this.Controls.Add(this.lv);
this.Name   =   "frmlistv ";
this.ResumeLayout(false);

}
 


//public   frmlistv(DPControls.Controls.WFrame   wFrame)  
public   frmlistv()  
{  
//
//   Required   for   Windows   Form   Designer   support
//
InitializeComponent();

//
//   TODO:   Add   any   constructor   code   after   InitializeComponent   call
//
Vlist();

}  

[STAThread]
static   void   Main()  
{
Application.Run(new   frmlistv());
}

void   Vlist()
{
data.Open();

this.Left   =   0;  
this.Top   =   0;  
this.Text   =   "在ListView中显示数据库内容! ";  

//   初始化ListView  
lv   =   new   ListView();  
lv.Left   =   0;  
lv.Top   =   0;  
lv.Width   =   700;  
lv.Height   =   this.ClientRectangle.Height;  
lv.GridLines   =   true;//显示各个记录的分隔线  
lv.FullRowSelect   =   true;//   要选择就是一行  
lv.View   =   View.Details;//   定义列表显示的方式  
lv.Scrollable   =   true;//   需要时候显示滚动条  
lv.MultiSelect   =   false;//   不可以多行选择  
lv.HeaderStyle   =   ColumnHeaderStyle.Nonclickable;  
//   针对数据库的字段名称,建立与之适应显示表头  
lv.Columns.Add   ( "姓名 ",60,HorizontalAlignment.Right);  
lv.Columns.Add   ( "住宅电话 ",100,HorizontalAlignment.Left);  
lv.Columns.Add   ( "办公电话 ",100,HorizontalAlignment.Left);  

lv.Visible   =   true;  

OleDbDataReader   reader;  

string   strCommand   =   "select   aag001,aag002,aag003   from   wefsi.aa07 ";



OleDbCommand   cmd   =   new   OleDbCommand   (strCommand,data.con);  
//获得数据集
reader   =   cmd.ExecuteReader();  

//   不断往列表中添加数据记录  
while   (reader.Read())  
{  
ListViewItem   li   =   new   ListViewItem();  
li.SubItems.Clear();  
li.SubItems[0].Text   =   reader[ "aag001 "].ToString();  
li.SubItems.Add   (reader[ "aag002 "].ToString());  
li.SubItems.Add   (reader[ "aag003 "].ToString());  

lv.Items.Add   (li);  
}  
//   关闭数据集
reader.Close();    
this.Controls.Add   (lv);  

}
}  
}

[解决办法]
lv = new ListView();
this.Controls.Add (lv);
这两句去掉,看看怎样
[解决办法]
this.lv = new System.Windows.Forms.ListView();和
lv = new ListView();
重复定义了,建议和楼上的一样.去掉,然后把InitializeComponent();加上.
最麻烦的是直接删掉你的Form,重新加listview,再写代码.

热点排行