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控件中添加了若干列和行
两个属性都能获得所选项在控件中的索引,我们在实际应用的时候可以灵活选择使用它们中的一个,以达到简化代码的目的。