ColumnHeader header1,header2,header3;
header1 = new ColumnHeader();
header2 = new ColumnHeader();
header1.Text = "姓名";
header2.Text = "年龄";
lvwGoods.Columns.Add(header1);
lvwGoods.Columns.Add(header2);
//添加数据
ListViewItem lv = new ListViewItem();
lv.SubItems.Clear();
lv.SubItems[0].Text = "0";
lv.SubItems.Add("1");//上面2个列,而这里添加了3条记录,
lv.SubItems.Add("2");//比上面多了1个,那有1条记录是显示不出来的
lvwPerson.Items.Add(li);
如上:那条记录不显示的,就这样被隐藏了
也可以获取该记录,debug查看一下结果
private void itemView_MouseClick(object sender, MouseEventArgs e)
if (e.Button == MouseButtons.Right)
if (itemView.SelectedItems.Count > 0)
//这里隐藏最后一列,获取最后一列的值
var selectedItemVal = itemView.SelectedItems[0].SubItems[itemView.SelectedItems.Count- 1].Text;
catch (Exception ex)
MessageBox.Show(ex.Message);
MessageBox.Show("你选择了" + itemView.SelectedItems.Count.ToString() + "行!");
在listview控件中,要用到隐藏某列,不显示出来//listview添加列 ColumnHeader header1,header2,header3; header1 = new ColumnHeader(); header2 = new ColumnHeader(); header1.Text = "姓名"; header2.Text = "年龄";...
1.通过设置ListViewAdapter中convertView的高度来实现。
AbsListView.LayoutParams param = new AbsListView.LayoutParams(0,1);
convertView.setLayoutParams(param);
第一个办法网上好像都是这样我试了,没有解决,不知道哪里错了。
如果你想要 conve
这几天做项目,需要做个listview满足能够动态显示或隐藏某些列,由于自己是菜鸟水平,查了两天资料也没有想出解决办法。就在我山穷水尽的时候看到了Mgen的一篇博客,给了我很大启发,所以我也决定把自己做的一些东西给大家说说,希望能帮助像我一样的菜鸟!
我读了Mgen的博文(http://www.cnblogs.com/mgen/archive/2011/07/24/2115...
Page1的ListView是别人的代码。MainWindow是我在这个基础上改的。控制数据列表显示隐藏的checkbox是竖排显示,我改了横排显示。MedColumnObject用的, //GridViewColumn集合
ObservableCollection collec=new ObservableCollection ();我们控件不是listview类型的,所以不能 public GridViewColumnCollection collec;。
根据自己的应用方式和在网上搜寻的资料,整理一下ListView控件的应用。
ListView控件可以直观的显示数据,操作很方便简单的特点。
一,ListView添加表头的两种方法:
1,直接在控件的任务中的编辑列中添加,Name是绑定的code值,Text是表头的显示值。
2,在后台代码中添加表头,代码如下:
ColumnHeader ch = new ColumnHeader...
2. 设置Listview控件的View属性为Details,并添加所需的列。
3. 在代码中,将需要上传的附件信息存储在一个List<Attachment>中,其中Attachment是一个自定义的类,包含附件的名称、路径等信息。
4. 将List<Attachment>中的数据绑定到Listview控件上,每个附件对应一行数据。
5. 通过双击Listview控件中的某一行,可以打开对应附件的查看界面。
6. 通过选中Listview控件中的某一行并点击删除按钮,可以删除对应附件。
以下是代码示例:
```csharp
public partial class Form1 : Form
private List<Attachment> attachments = new List<Attachment>(); // 附件列表
public Form1()
InitializeComponent();
InitializeListView(); // 初始化Listview控件
LoadAttachments(); // 加载附件列表
private void InitializeListView()
listView1.View = View.Details; // 设置Listview控件的View属性为Details
listView1.FullRowSelect = true; // 设置Listview控件全行选中
listView1.Columns.Add("名称", 200); // 添加名称列
listView1.Columns.Add("路径", 400); // 添加路径列
private void LoadAttachments()
// 从数据库或其他来源获取附件列表
// 并将每个附件添加到attachments列表中
// Attachment为自定义的类,包含附件的名称、路径等信息
// 将attachments列表中的数据绑定到Listview控件上
foreach (Attachment attachment in attachments)
ListViewItem item = new ListViewItem(attachment.Name);
item.SubItems.Add(attachment.Path);
listView1.Items.Add(item);
private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
if (listView1.SelectedItems.Count == 1)
// 获取选中的附件的路径
string path = listView1.SelectedItems[0].SubItems[1].Text;
// 打开附件的查看界面
Process.Start(path);
private void btnDelete_Click(object sender, EventArgs e)
if (listView1.SelectedItems.Count == 1)
// 获取选中的附件的名称和路径
string name = listView1.SelectedItems[0].SubItems[0].Text;
string path = listView1.SelectedItems[0].SubItems[1].Text;
// 从attachments列表中删除选中的附件
attachments.RemoveAll(a => a.Name == name && a.Path == path);
// 从Listview控件中删除选中的附件
listView1.Items.Remove(listView1.SelectedItems[0]);
Mat medImage = new Mat();
Cv2.BoxFilter(image, medImage, MatType.CV_8UC3, new OpenCvSharp.Size(5, 5));//尽可能多的去除杂质
return medImage;
OpenCv案例(九): 基于OpenCvSharp图像分割提取目标区域和定位
liugaqiong:
OpenCv案例(十一):基于OpenCvSharp识别图像中目标并分类
OpenCv案例(十一):基于OpenCvSharp识别图像中目标并分类
wytw_kevin: