C#中的listview控件怎么用

C#中的listview控件怎么用

C#中的listview控件怎么用


比如你在窗体上放了一个ListView,教你一些简单的操作。
listView1.Columns.Clear();//清空列记录
ColumnHeader cZh = new ColumnHeader();//创建一个列
cZh.Text = “英文“;//列名
ColumnHeader cCh = new ColumnHeader();
cCh.Text = “中文“;
listView1.Columns.AddRange(new ColumnHeader { cZh, cCh });//将这两列加入listView1
listView1.View = View.Details;//列的显示模式
ListViewItem lvi = new ListViewItem(new string {“Gog”,“狗“ }, -1);//创建列表项
listView1.Items.Add(lvi);//将项加入listView1列表中
动手试试就理解了。

C# listView控件使用


View 数据设为 Details
Columns 属性添加列
Items 添加行的第一列数据,而里面的SubItems添加第二列开始的数据
代码实现:
listView1.Clear();
// 添加3列
for (int i = 0; i 《 3; i++)
{
listView1.Columns.Add(“列“ + i.ToString());
}
ListViewItem item;
item = listView1.Items.Add(“第一行第一列数据“);
item.SubItems.Add(“第一行第二列数据“);
item.SubItems.Add(“第一行第三列数据“);

ListView控件的介绍


ListView 控件可使用四种不同视图显示项目。通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。 可使用 ListView 控件将称作 ListItem 对象的列表条目组织成下列四种不同的视图之一:1.大(标准)图标2.小图标3.列表4.报表 View 属性决定在列表中控件使用何种视图显示项目。还可用 LabelWrap 属性控制列表中与项目关联的标签是否可换行显示。另外,还可管理列表中项目的排序方法和选定项目的外观。


在vc中怎么使用listview控件


在VC中listvuew这个控件怎么用啊,
是listview
ListView 控件可使用四种不同视图显示项目。通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。 可使用 ListView 控件将称作 ListItem 对象的列表条目组织成下列四种不同的视图之一:1.大(标准)图标2.小图标3.列表4.报表 View 属性决定在列表中控件使用何种视图显示项目。还可用 LabelWrap 属性控制列表中与项目关联的标签是否可换行显示。另外,还可管理列表中项目的排序方法和选定项目的外观。

怎样使用C#的listview控件


ListView我认为是种数据型的控件,以装载和展示数据为目的,当然也能展示图片,这个功能没有试过。这里讲一下ListView的第一次使用后的一些小结。    ListView一些设置与添加字段。  Lv1=newListView();//实例化  Lv1.GridLines=true;file://显示各个记录的分隔线  Lv1.FullRowSelect=true;file://要选择就是一行  Lv1.View=View.Details;file://定义列表显示的方式  Lv1.Scrollable=true;file://需要时候显示滚动条  Lv1.MultiSelect=false;//不可以多行选择  listView1.Items.Remove(listView1.SelectedItems);//这样可以在ListView中删除选择的行  Lv1.HeaderStyle=ColumnHeaderStyle.Nonclickable;//针对数据库的字段名称,建立与之适应显示表头    设置列名称:  Lv1.Columns.Add(“A“,60,HorizontalAlignment.Right);  Lv1.Columns.Add(“B“,100,HorizontalAlignment.Left);  Lv1.Columns.Add(“C“,100,HorizontalAlignment.Left);  Lv1.Visible=true;    用循环把数据插入进ListView,用reader方法读取中括号中的字段名。  lv1.Items.Clear();//清空lv1中的记录  ListViewItemli=newListViewItem();  li.SubItems.Clear();//清空每行数据的每一列数据。  foreach(DataRowreaderinstu.Rows)//前提是stu有数据,stu是DataTable  {  ListViewItemitem=newListViewItem((reader[“EMP_NO“]).ToString());  item.SubItems.Add(reader[“NAME“].ToString());  item.SubItems.Add(reader[“ID“].ToString());  this.lv1.Items.Add(item);  }  接下来说说Listview中的一些小技巧。  一、鼠标选中一行记录,如何读取那行记录中的某列记录??  很简单用这句话:lv1.SelectedItems.SubItems.Text    SelectedItems指的是你选中的行,如果你选中的是多行,那么第一行中括号里就是0,第二行就是1,以此类推。  SubItems指的是你选中的列,第一列中括号里就是0,第二行就是1,以此类推。    二、Listview中双击记录事件。  在.cs文件里写:  privatevoidlv1_DoubleClick(objectsender,EventArgse)//双击listview  {  //这里写你想要产生的事件。例如:  MessageBox.Show(“OK“);  }  在.Designer.cs文件里找到相关的控件代码写入如下信息:  this.lv1.DoubleClick+=newSystem.EventHandler(this.lv1_DoubleClick);  例如:  //lv1  //  this.lv1.Location=newSystem.Drawing.Point(-3,98);  this.lv1.Name=“lv1“;  this.lv1.Size=newSystem.Drawing.Size(1018,527);  this.lv1.TabIndex=28;  this.lv1.UseCompatibleStateImageBehavior=false;  this.lv1.View=System.Windows.Forms.View.Details;  this.lv1.DoubleClick+=newSystem.EventHandler(this.lv1_DoubleClick);  三、Listview隐藏列  有时候用Listview会遇到这样的麻烦。  众所周知主键是区分每条不同记录最可靠的方法,一旦主键不显示在Listview中,那选中Listview某一行也就意味着在这一行中取不到这条记录的主键,只能取到其他显示的字段,那如何把这条记录传递给其他窗口呢?用其他字段?如果是这样的话就风险太大了,因为其他字段会有重复的可能,这样的程序就会出现BUG。  这时候就该发挥隐藏列的作用了,隐藏列方便使用,其作用是在前台页面看不出有那条主键的字段,但是在代码控制中却包含了这个字段,我们点击某一条记录时就能方便的获取这条记录的主键字段,这样只要把这字段字符传到其他窗体就没问题了,因为主键字段是唯一且不能为空的。  下面说说具体实现方法。  Lv1.Columns.Add(“A“,60,HorizontalAlignment.Right);  Lv1.Columns.Add(“B“,100,HorizontalAlignment.Left);  Lv1.Columns.Add(“C“,100,HorizontalAlignment.Left);  Lv1.Visible=true;    foreach(DataRowreaderinstu.Rows)//前提是stu有数据,stu是DataTable  {  ListViewItemitem=newListViewItem((reader[“EMP_NO“]).ToString());  item.SubItems.Add(reader[“NAME“].ToString());  item.SubItems.Add(reader[“ID“].ToString());  item.SubItems.Add(reader[“PrimaryKey“].ToString());  this.lv1.Items.Add(item);  }  红色的是列的标题,白色的是循环输出每一行数据,这样可以很明显的看出,只有3列,却插入了4列的数据,而最后一列就是主键,而显示是也只有3列,那有人会问了,既然第四列没有显示,如何去第四列的数据呢?  也是同样的代码:lv1.SelectedItems.SubItems.Text  这个3显示的就是第四列的数据,因为计算机是从0开始计数的,很简单吧!  namespaceListViewExercise  {  publicpartialclassForm1:Form  {  publicForm1()  {  InitializeComponent();  ListViewSet();  CreateViewItemMethodOne();  //CreateViewItemMethodTow();  }  ///ListView设置  privatevoidListViewSet()  {  //ListView显示方式  listViewControl.View=View.Details;  }  /////手动填加ListView方法1  privatevoidCreateViewItemMethodOne()  {  listViewControl.BeginUpdate();  #region增加Item的标题,共有三个列  //1、创建标题  listViewControl.Columns.Add(“文件名“);  listViewControl.Columns.Add(“大小“);  listViewControl.Columns.Add(“创建日期“);  #endregion  #region手动填加ListView方法  //2、增加第一个Item,在View.Details模式下,有点像第一列中一个值  listViewControl.Items.Add(“folder1“,“文件夹1“,0);  //3、增加第一个Item的第一个SubItem,在View.Details模式下,有点像第一列中一个值  listViewControl.Items[“folder1“].SubItems.Add(“11“);  //增加第一个Item的第二个SubItem,在View.Details模式下,有点像第一列中一个值  listViewControl.Items[“folder1“].SubItems.Add(“20080114“);  listViewControl.Items.Add(“folder2“,“文件夹2“,0);  listViewControl.Items[“folder2“].SubItems.Add(“21“);  listViewControl.Items[“folder2“].SubItems.Add(“20080115“);  listViewControl.Items.Add(“文件夹3“);  listViewControl.Items.Add(“文件夹4“);  #endregion  listViewControl.EndUpdate();  }  ///手动填加ListView方法2  privatevoidCreateViewItemMethodTow()  {  #region增加Item的标题,共有三个列  //1、创建标题,共三列  listViewControl.Columns.Add(“文件名“);  listViewControl.Columns.Add(“大小“);  listViewControl.Columns.Add(“创建日期“);  #endregion  listViewControl.BeginUpdate();  #region增加第一个Item  //2、定义一个ListViewItem,在View.Details模式下,有点像第一列中一个值  ListViewItemlvItem;  //3、定义ListViewSubItem,在View.Details模式下,有点像第二列中一个值  ListViewItem.ListViewSubItemlvSubItem;  //实列化一个Item,在View.Details模式下,有点像加第一行的第一个值  lvItem=newListViewItem();  //Item的显示的文字  lvItem.Text=“文件夹1“;  //4、Item增加到ListView控件中,即增加第一行。在View.Details模式下,有点像增加了第一个项目的第一列的第一个值  listViewControl.Items.Add(lvItem);    //实例化SubItem  lvSubItem=newListViewItem.ListViewSubItem();  lvSubItem.Text=“10“;  //5、将SubItem增加到第一个Item中,在View.Details模式下,有点像增加了第一个项目的第二列的第一个值  lvItem.SubItems.Add(lvSubItem);  lvSubItem=newListViewItem.ListViewSubItem();  lvSubItem.Text=“20080114“;  //将SubItem增加到第一个Item中,在View.Details模式下,有点像增加了第一个项目的第三列的第一个值  lvItem.SubItems.Add(lvSubItem);  #endregion  #region增加第二个Item  lvItem=newListViewItem();  lvItem.Text=“文件夹2“;  lvSubItem=newListViewItem.ListViewSubItem();  lvSubItem.Text=“20“;  lvItem.SubItems.Add(lvSubItem);  lvSubItem=newListViewItem.ListViewSubItem();  lvSubItem.Text=“20080115“;  lvItem.SubItems.Add(lvSubItem);  listViewControl.Items.Add(lvItem);  #endregion  listViewControl.EndUpdate();  }    //第三种自己的方法,挺有效的,简单的  privatevoidCreateViewItems()  {  listView1.BeginUpdate();  listView1.Columns.Add(“矩阵控制命令“);  listView1.Columns.Add(“功能描述“);  listView1.Columns.Width=145;  listView1.Columns.Width=515;  listView1.Items.Add(“/%Lock;“);  listView1.Items.SubItems.Add(“锁定键盘“);  listView1.Items.Add(“/%Unlock;“);  listView1.Items.SubItems.Add(“解开键盘的锁定“);  listView1.Items.Add(“/Version;“);  listView1.Items.SubItems.Add(“查询软件版本“);  listView1.Items.Add(“/:BellOff;“);  listView1.Items.SubItems.Add(“关闭蜂鸣器“);  listView1.EndUpdate();  }  }  }

ListView控件的用法是


这是VB的代码,其中
ListView1 表示ListView控件的名字
ListItems 表示ListView控件中所有条目的集合
Item(1)表示ListView控件中第一行
SubItems(1) 表示第一列
连起来看,就是ListView控件中表格的第一行第一列。
Text1(1) 表示TextBox控件数组中的第一个对象
text 表示TextBox控件里面的文本内容
Text1(1).text就是TextBox控件数组的第一个对象的文本内容
所以这句的意思是,把TextBox控件数组的第一个对象的文本内容写到ListView控件中表格的第一行第一列。
英文句点多没关系,能理顺就行。

简述listview控件的工作模式


一、View 属性
ListView 控件作为一个可以显示图标或者子项的列表控件,它最重要的属性就是 View 属性,该属性决定了以哪种视图模式显示控件的项,这四种视图模式分别如下:
1、LartIcon:大图标视图模式,在项的文本旁显示大的图标,在控件宽度足够的情况下,项是如图一中的盘符一样优先以平行排列的,排列不完的则自动换行显示在新行中。
2、SmallIcon:小图标视图模式,与大图标模式一样,但是显示的是小的图标。
3、List:列表视图模式,显示小图标,但是项是垂直排列的,只显示单列。
4、Details:详细资料视图模式,是最丰富的选项,它不但允许您查看项,还允许您查看为各项指定的任何子项。各项在网格中显示,它们垂直排列且其子项会显示在列中(带有列标头)。对应地,只有在Details 视图模式中起作用的控件属性为:GridLines 和 FullRowSelect,GridLines 属性指示在包含控件中项及其子项的行和列之间是否显示网格线。FullRowSelect 属性指示单击某项是否选择其所有子项(即整行选中),如下图三所示便是GridLines 和 FullRowSelect 属性都设置为True的情况:
ListView 控件中还有一个HeaderStyle 属性也是在Details 视图模式下才起作用,HeaderStyle 属性指示列标头样式,它有下面三种显示样式:
1、Clickable:列标头的作用类似于按钮,单击时可以执行操作(例如排序)。
2、Nonclickable:列标头不响应鼠标单击。
3、None:列标头在报表视图中不显示。
二、Items 属性
此外,ListView 控件最重要的属性是 Items 属性,它包含了控件所有的存在的项。SelectedItems 属性是控件当前选定项的集合,同时和它关联的 SelectedIndices 属性是控件中选定项的索引集合,如下示例所示,我们分别在SelectedItems 属性和SelectedIndices 属性中获取所选项索引,窗体上拖放了ListView控件和一个Button 控件,且已经往ListView控件中添加了若干列和行
两个属性都能获得所选项在控件中的索引,我们在实际应用的时候可以灵活选择使用它们中的一个,以达到简化代码的目的。

推荐阅读