Winfrom的listView添加行和列
- 格式:docx
- 大小:29.94 KB
- 文档页数:2
C# 中LISTVIEW用法//增加项或列(字段)ListView1.Clear;ListView1.Columns.Clear;ListView1.Columns.Add;ListView1.Columns.Add;ListView1.Columns.Add;ListView1.Columns.Items[0].Caption:='id';ListView1.Columns.Items[1].Caption:='type';ListView1.Columns.Items[2].Caption:='title';ListView1.Columns.Items[2].Width:=300;Listview1.ViewStyle:=vsreport;Listview1.GridLines:=true; //注:此处代码也可以直接在可视化编辑器中完成, 也可写成以下这样beginwith listview1 dobeginColumns.Add;Columns.Add;Columns.Add;ViewStyle:=vsreport;GridLines:=true;columns.items[0].caption:='进程名';columns.items[1].caption:='进程ID';columns.items[2].caption:='进程文件路径';Columns.Items[0].Width:=100;Columns.Items[1].Width:=100;Columns.Items[2].Width:=150;endend;//增加记录with listview1.items.add dobegincaption:='1212';subitems.add('hh1');subitems.add('hh2');end;//删除listview1.items.delete(0);//从数据库表里读取数据写入ListviewvarTitem:Tlistitem; //此处一定要预定义临时记录存储变量.beginListView1.Items.Clear;with adoquery1 dobeginclose;sql.Clear;sql.Add('select spmc,jg,sl from kcxs');Open;ListView1.Items.Clear;while not eof dobeginTitem:=ListView1.Items.add;Titem.Caption:=FieldByName('spmc').Value;Titem.SubItems.Add(FieldByName('sl').Value);Titem.SubItems.Add(FieldByName('jg').Value);next;end;//删除ListView1.DeleteSelected;//如何取得ListView中选中行的某一列的值procedure TForm1.Button2Click(Sender: TObject);beginShowMessage(ListView1.Selected.SubItems.Strings[1]); //返回选中行第三列中的值end;showMessage(listView1.Selected.Caption); //返回选中行第一列的值.第1列的值:-->>> ListView1.Selected.Caption第i列的值(i>1):-->>> ListView1.Selected.SubItems.Strings[i]ListView1.Items.Item[1].SubItems.GetText); //取得listview某行某列的值Edit2.Text := listview1.Items[i].SubItems.strings[0]; //读第i行第2列返回选中行所有子列值.是以回车符分开的,你还要从中剥离出来你要的子列的值。
设置字段名设置字段值设定单元格表示 Error图标设定当前单元格取得当前单元格内容取得当前单元格的列 Index取得当前单元格的行 Index向下一行向上一行取消 DataGridView1 为只读设置 DataGridView1 为只读设置 DataGridView1 的第2列整列单元格为只读并变色设置 DataGridView1 的第3行整行单元格为只读并变色设置 DataGridView1 的[0,0]单元格为只读并变色设置 DataGridView1 的第2列整列单元格为只读并变色设置 DataGridView1 的第3行整行单元格为只读并变色设置 DataGridView1 的[0,0]单元格为只读并变色设置用户不能手动给 DataGridView1 添加新行设置用户可以手动给 DataGridView1 添加新行禁止DataGridView1的行删除操作。
允许DataGridView1的行删除操作。
DataGridView1的第一列隐藏DataGridView1的第一行隐藏DataGridView1的第一列显示DataGridView1的第一行显示列头隐藏行头隐藏列头显示行头显示删除名为"Column1"的列删除第四列删除第三行禁止用户改变DataGridView1的所有列的列宽禁止用户改变DataGridView1的所有行的行高允许用户改变DataGridView1的所有列的列宽允许用户改变DataGridView1的所有行的行高禁止用户改变DataGridView1的第一列的列宽禁止用户改变DataGridView1的第一列的行宽第一列的最小列宽设定为 100第一行的最小行高设定为 50禁止用户改变列头的高度禁止用户改变行头的宽度设定包括Header和所有单元格的列宽自动调整设定包括Header和所有单元格的行高自动调整第一列自动调整设定列头的宽度可以自动调整设定行头的宽度可以自动调整让 DataGridView1 的所有列宽自动调整一下。
个人收集整理-ZQ
分类:标签:字号大中小订阅
折腾了打扮下午,才搞明白了地所以然,记得在大学地时候给外教做过一个项目中,用到了这个控件,但是那是在中,和地使用还是稍微有点差别,书上介绍地也不多,网上写地也乱七八糟.文档收集自网络,仅用于个人学习
下面就通过一个小示例解释一下:
加入想在中加入以下两条信息.
通过设计模式添加很简单,这里就不说了,我们通过代码来完成.
设置控件
(())用于说明一共有多少列.
.有地时候,如果不设置这个,那么即使你再设计模式下添加了列,运行地时候也不会显示,这里我们用命令控制他显示,当然,我们也可以再设计模式下地属性选择.文档收集自网络,仅用于个人学习
.允许用户修改值.
.
.
显示网格线
.
;文档收集自网络,仅用于个人学习
.
一共三行 ("");
("");
("");
("")这个是第一行第一列
("")第一行第二列
("")第一行第三列
("")这个是第二行第一列
("")第二行第二列
("")第二行第三列
()把第一行添加上
()把第二行添加上文档收集自网络,仅用于个人学习
1 / 1。
C#WinformListView使⽤以下内容均来⾃⽹上,个⼈收集整理,具体出处也难确认了,就没写出处了;⼀、基本使⽤:listView.View = View.Details;//设置视图listView.SmallImageList = imageList;//设置图标//添加列listView.Columns.Add("本地路径", 150, HorizontalAlignment.Left);listView.Columns.Add("远程路径", 150, HorizontalAlignment.Left);listView.Columns.Add("上传状态", 80, HorizontalAlignment.Left);listView.Columns.Add("耗时", 80, HorizontalAlignment.Left);//添加⾏var item = new ListViewItem();item.ImageIndex = 1;item.Text = name; //本地路径item.SubItems.Add(path); //远程路径item.SubItems.Add("ok"); //执⾏状态item.SubItems.Add("0.5"); //耗时统计listView.BeginUpdate();listView.Items.Add(item);listView.Items[listView.Items.Count - 1].EnsureVisible();//滚动到最后listView.EndUpdate();⼆、动态添加记录,ListView不闪烁:1.新建⼀个C# 类,命名为ListViewNF(NF=Never/No Flickering)2.复制如下代码class ListViewNF : System.Windows.Forms.ListView{public ListViewNF(){// Activate double bufferingthis.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);// Enable the OnNotifyMessage event so we get a chance to filter out// Windows messages before they get to the form's WndProcthis.SetStyle(ControlStyles.EnableNotifyMessage, true);}protected override void OnNotifyMessage(Message m){//Filter out the WM_ERASEBKGND messageif (m.Msg != 0x14){base.OnNotifyMessage(m);}}}3.修改你的WinForm对应的xxxx.Design.cs,将系统默认⽣成的System.Windows.Forms.ListView改为ListViewNF即可。
winform listview用法WinForms中的ListView是一个用于显示项的控件,通常用于显示数据列表或者文件列表等。
1. 准备工作:在WinForms的设计器中添加一个ListView控件。
2. 添加列:在设计时,可以点击ListView的列标题区域,弹出编辑列窗口。
也可以在代码中通过调用ListView的Columns属性的Add方法来添加列。
```csharp// 添加两列listView.Columns.Add("列1");listView.Columns.Add("列2");```3. 添加项:可以通过调用ListView的Items属性的Add方法来添加项。
每个项可以包含多个子项,每个子项对应一个列。
```csharp// 添加一项,并设置两个子项的文本var item = new ListViewItem(new [] {"子项1", "子项2"}); listView.Items.Add(item);// 或者通过直接设置子项的文本来添加项var item = listView.Items.Add("子项1");item.SubItems.Add("子项2");```4. 显示图标:可以为每个项设置一个小图标。
```csharp// 准备一个图片列表var imageList = new ImageList();imageList.Images.Add("键1", Image.FromFile("图标1.jpg")); imageList.Images.Add("键2", Image.FromFile("图标2.jpg"));// 设置ListView的ImageList属性listView.SmallImageList = imageList;// 为项设置图标item.ImageKey = "键1";```5. 代码示例:```csharp// 在Form的构造函数或Load事件中编写以下代码// 添加列listView.Columns.Add("列1");listView.Columns.Add("列2");// 添加项,并显示图标var item1 = listView.Items.Add("子项1");item1.SubItems.Add("子项2");item1.ImageKey = "键1";var item2 = listView.Items.Add("子项3");item2.SubItems.Add("子项4");item2.ImageKey = "键2";```通过以上步骤,就可以在WinForms中使用ListView来显示数据列表。
C#winform中ListView⽤法this.listView1.GridLines = true; //显⽰表格线this.listView1.View = View.Details;//显⽰表格细节belEdit = true; //是否可编辑,ListView只可编辑第⼀列。
this.listView1.Scrollable = true;//有滚动条this.listView1.HeaderStyle = ColumnHeaderStyle.Clickable;//对表头进⾏设置this.listView1.FullRowSelect = true;//是否可以选择⾏//this.listView1.HotTracking = true;// 当选择此属性时则HoverSelection⾃动为true和Activation属性为oneClick //this.listView1.HoverSelection = true;//this.listView1.Activation = ItemActivation.Standard; ////添加表头this.listView1.Columns.Add("", 0);this.listView1.Columns.Add("列1",80);this.listView1.Columns.Add("列2", 160);//添加各项ListViewItem[] p = new ListViewItem[2];p[0] = new ListViewItem(new string[] { "","aaaa","bbbb"});p[1] = new ListViewItem(new string[] { "","cccc", "ggggg" });//p[0].SubItems[0].BackColor = Color.Red; //⽤于设置某⾏的背景颜⾊this.listView1.Items.AddRange(p);//也可以⽤this.listView1.Items.Add();不过需要在使⽤的前后添加Begin... 和End...防⽌界⾯⾃动刷新// 添加分组this.listView1.Groups.Add(new ListViewGroup("tou"));this.listView1.Groups.Add(new ListViewGroup("wei"));this.listView1.Items[0].Group = this.listView1.Groups[0];this.listView1.Items[1].Group = this.listView1.Groups[1];。
winform中datagrid和datagridview设置列标题的实现原来Blog上⾯的,抛弃有点可惜,贴过来[datagrid]using System;using System.Collections.Generic;using System.Text;using System.Drawing;using System.Windows;using System.Windows.Forms;using System.Data;namespace DgHeader{public class FormNoVS:Form{private DataGrid dg1;public FormNoVS(){this.Size = new Size(800, 600);DataTable table = new DataTable();table.Columns.Add("name");table.Columns.Add("age");DataRow row = table.NewRow();row["name"] = "Test";row["age"] = 13;table.Rows.Add(row);dg1 = new DataGrid();this.Controls.Add(dg1);dg1.Location = new Point(100,50);dg1.Size = new Size(400, 200); = "dg1";dg1.ColumnHeadersVisible = true;dg1.DataSource = table;DataGridTableStyle style = new DataGridTableStyle();DataGridTextBoxColumn headerName = new DataGridTextBoxColumn();headerName.HeaderText = "姓名";headerName.MappingName = "name";headerName.Width = 100;style.GridColumnStyles.AddRange(new DataGridColumnStyle[] { headerName });dg1.TableStyles.AddRange(new DataGridTableStyle[] { style });}}}[datagridview]using System;using System.Collections.Generic;using System.Text;using System.Drawing;using System.Windows;using System.Windows.Forms;using System.Data;namespace DgHeader{public class FormNoVS:Form{private DataGridView dgv1;public FormNoVS(){this.Size = new Size(800, 600);DataTable table = new DataTable();table.Columns.Add("name");table.Columns.Add("age");DataRow row = table.NewRow();row["name"] = "Test";row["age"] = 13;table.Rows.Add(row);dgv1 = new DataGridView();dgv1.Location = new Point(10,10);dgv1.Size = new Size(400, 200);this.Controls.Add(dgv1);dgv1.DataSource = table;dgv1.AutoGenerateColumns =true;dgv1.Columns[0].HeaderText = "姓名";}}}。
winformlistview用法
WinFormListView是一种用于在WinForm应用程序中呈现多列数据的控件。
它支持添加行和列,可以自定义列头和行样式,还可以方便地排序和筛选数据。
在使用WinForm ListView时,首先需要创建一个ListView控件并设置其属性。
然后,可以使用ListViewItem类来添加行和列。
例如,可以使用ListViewItem的构造函数来创建一个新的项,并设置其文本和图像。
然后,可以使用ListView的Items属性将此项添加到ListView中。
还可以使用ColumnHeader类来定义列头。
例如,可以使用ColumnHeader的构造函数来创建一个新的列头,并设置其文本和宽度。
然后,可以使用ListView的Columns属性将此列头添加到ListView中。
如果需要自定义行样式,则可以使用ListView的DrawItem事件。
在此事件中,可以使用Graphics对象绘制自定义行样式。
最后,如果需要对数据进行排序或筛选,则可以使用ListView 的Sorting和View属性。
Sorting属性可以设置列排序的方式,View 属性可以设置如何显示数据,例如图标、列表或详细信息。
综上所述,WinForm ListView是一个非常强大和灵活的控件,可以用于呈现大量数据并提供交互性。
- 1 -。
winformlistview用法WinformListView是Windows Form控件之一,它提供了一个多列列表视图,可以方便地在其中添加,删除,编辑和排序行。
ListView控件可用于在Windows表单应用程序中显示大量数据,并且与其他控件集成良好。
使用WinformListView进行列表操作非常简单,主要流程包括:创建WinformListView控件,定义表头,添加数据和定义事件响应函数四个步骤。
在Visual Studio的窗体设计器中可以轻松创建WinformListView控件。
打开设计器并在工具箱中选择ListView。
将控件拖放到Windows表单中。
WinformListView会自动命名,并出现在组件领域之后。
二、定义表头WinformListView控件的列由列头集合管理。
列头集合是ListView.ColumnHeaders属性。
列头的的文本及其任何样式由列标题的属性进行控制。
可以从设计器或代码中直接编辑列标题的属性。
使用设计器添加列标题:1.在设计器中选择WinformListView控件。
2.在属性窗口中,展开ColumnHeader属性。
3.在这里,您可以添加列标题,例如“名称”,“价格”等。
lstView.Columns.Add("名称",150);lstView.Columns.Add("价格",150);三、添加数据数据添加是WinformListView的另一个关键方面。
数据是通过行的集合管理。
行集合由Items属性控制。
新行添加到行集合中,通常使用Add方法。
随后,可以使用各种属性和方法从一个行对象中获取和设置数据。
可通过设计器中的属性窗口的Item属性添加行。
双击Item来创建新行。
2.在代码中添加行:使用SubItems属性向每行添加子项,方法如下:ListViewItem lvi = new ListViewItem("新行");lvi.SubItems.Add("100");lvi.SubItems.Add("10");lvi.SubItems.Add("1000");四、定义事件响应函数一般地,WinformListView控件的事件响应函数用于处理行选中、删除、编辑等行为的操作。
c#WinForm开发DataGridView控件的各种操作总结(单元格操作,属性设置)⼀、单元格内容的操作*****// 取得当前单元格内容Console.WriteLine(DataGridView1.CurrentCell.Value);// 取得当前单元格的列 IndexConsole.WriteLine(DataGridView1.CurrentCell.ColumnIndex);// 取得当前单元格的⾏ IndexConsole.WriteLine(DataGridView1.CurrentCell.RowIndex);*******另外,使⽤ DataGridView.CurrentCellAddress 属性(⽽不是直接访问单元格)来确定单元格所在的⾏:DataGridView.CurrentCellAddress.Y 和列: DataGridView.CurrentCellAddress.X 。
这对于避免取消共享⾏的共享⾮常有⽤。
当前的单元格可以通过设定 DataGridView 对象的 CurrentCell 来改变。
可以通过 CurrentCell 来设定DataGridView 的激活单元格。
将 CurrentCell 设为 Nothing(null) 可以取消激活的单元格。
// 设定 (0, 0) 为当前单元格DataGridView1.CurrentCell = DataGridView1[0, 0];在整⾏选中模式开启时,你也可以通过 CurrentCell 来设定选定⾏。
/// <summary>/// 向下遍历/// </summary>/// <param ></param>/// <param ></param>private void button4_Click(object sender, EventArgs e)...{int row = this.dataGridView1.CurrentRow.Index + 1;if (row > this.dataGridView1.RowCount - 1)row = 0;this.dataGridView1.CurrentCell = this.dataGridView1[0, row];}/// <summary>/// 向上遍历/// </summary>/// <param ></param>/// <param ></param>private void button5_Click(object sender, EventArgs e)...{int row = this.dataGridView1.CurrentRow.Index - 1;if (row < 0)row = this.dataGridView1.RowCount - 1;this.dataGridView1.CurrentCell = this.dataGridView1[0, row];}* 注意: this.dataGridView 的索引器的参数是: columnIndex, rowIndex 或是 columnName, rowIndex这与习惯不同。
c#中listview控件如何添加信息
2009-05-07 15:36:00| 分类:c# | 标签:|字号大中小订阅
折腾了打扮下午,才搞明白了listview的所以然,记得在大学的时候给外教做过一个项目中,用到了listview 这个控件,但是那是在vb中,和C#的使用还是稍微有点差别,书上介绍的也不多,网上写的也乱七八糟。
下面就通过一个小示例解释一下:
加入想在listview中加入以下两条信息。
通过设计模式添加很简单,这里就不说了,我们通过代码来完成。
//设置listview控件
//MessageBox.Show(listView1.Columns.Count.ToString());//用于说明一共有多少列。
listView1.View =View.Details;// Set the view to showdetails.有的时候,如果不设置这个,那么即使你再设计模式下添加了列,运行的时候也不会显示,这里我们用命令控制他显示,当然,我们也可以再设计模式下的view属性选择Details.
belEdit =true;// Allow the user to edit itemtext.允许用户修改值。
//listView1.AllowColumnReorder = true;//Allow the user to rearrangecolumns.
// Display grid lines.
listView1.GridLines =true;//显示网格线
// Sort the items in the list in ascending order.
// listView1.Sorting = SortOrder.Ascending;
// Create columns for the items and subitems.
//一共三行 listView1.Columns.Add("name");
listView1.Columns.Add("age");
listView1.Columns.Add("rollno");
ListViewItemfirstrecord =new ListViewItem("hope");//这个是第一行第一列
firstrecord.SubItems.Add("22");//第一行第二列
firstrecord.SubItems.Add("1001");//第一行第三列
ListViewItemsecondrecord = newListViewItem("basil");//这个是第二行第一列
secondrecord.SubItems.Add("23");//第二行第二列
secondrecord.SubItems.Add("1002");//第二行第三列
listView1.Items.Add(firstrecord);//把第一行添加上
listView1.Items.Add(secondrecord);//把第二行添加上。