using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace Common
{
/// <summary>
/// 列表视图操作类
/// </summary>
public class CtlListViewOperate
{
private ListView m_listView = null; /// <summary>
/// 关联列表视图控件
/// </summary>
public ListView refListViewControl
{
set
{
m_listView = value;
}
get
{
return m_listView;
}
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="listView">树视图控件</param>
public CtlListViewOperate()
{
} //public CtlListViewOperate(ListView listView)
//{
// m_listView = listView;
//} private static volatile CtlListViewOperate m_dgvOpera = null; /// <summary>
/// 获取列表视图操作类单一实例
/// </summary>
/// <returns></returns>
public static CtlListViewOperate GetInstance()
{
if(null == m_dgvOpera)
{
m_dgvOpera = new CtlListViewOperate();
}
return m_dgvOpera;
} /// <summary>
/// 删除选中的项
/// </summary>
public void DeleteItems()
{
if (MessageBox.Show("确定要删除选中的项吗?", "", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
int num = m_listView.CheckedItems.Count;
for (int i = num - 1; i >= 0; i--) //从大到小序列依次删除 否则 删除 报错 因为 视图项是动态的
{
m_listView.Items.Remove(m_listView.CheckedItems[i]);
}
}
} /// <summary>
/// 添加新项
/// </summary>
/// <param name="name">名</param>
/// <param name="value">值</param>
public void AddItem(string name, string value)
{
int num = m_listView.Items.Count;
for (int i = 0; i < num; i++ )
{
if ((m_listView.Items[i].Tag).ToString() == value)
{
MessageBox.Show("该项已经存在!");
return;
}
}
ListViewItem lvi = new ListViewItem();
lvi.Text = name;
lvi.Tag = value;
m_listView.Items.Add(lvi);
}
/// <summary>
/// 添加新项
/// </summary>
/// <param name="lvi">视图子项</param>
public void AddItem(ListViewItem lvi)
{
m_listView.Items.Add(lvi);
} }
}

C#:列表视图操作类的更多相关文章

  1. Python---面向对象编程---自定义列表和集合操作类

    一.定义一个列表的操作类Listinfo 包括的方法 1.列表元素添加:add_key()  添加的必须是数字或者是字符串 2.列表元素取值:get_key() 3.列表合并:update_list( ...

  2. DRF (Django REST framework) 中的视图扩展类

    2. 五个扩展类 1)ListModelMixin 列表视图扩展类,提供list(request, *args, **kwargs)方法快速实现列表视图,返回200状态码. 该Mixin的list方法 ...

  3. DRF框架(五)——context传参,二次封装Response类,两个视图基类(APIView/GenericAPIView),视图扩展类(mixins),子类视图(工具视图),视图集(viewsets),工具视图集

    复习 1.整体修改与局部修改 # 序列化get (给前端传递参数) #查询 ser_obj = ModelSerializer(model_obj) #只传递一个参数,默认是instance的参数,查 ...

  4. Django视图扩展类

    Django视图扩展类 扩展类必须配合GenericAPIView使用扩展类内部的方法,在调用序列化器时,都是使用get_serializer 需要自定义get.post等请求方法,内部实现调用扩展类 ...

  5. GenericAPIView的使用及和视图扩展类的结合使用

    GenericAPIView的使用 from rest_framework.generics import GenericAPIView GenericAPIView继承 APIView,主要增加了操 ...

  6. 视图家族之mixins视图工具类与generics工具视图类

    视图家族之mixins视图工具类与generics工具视图类 一.mixins视图工具类 作用: 提供了几种后端视图(对数据资源进行曾删改查)处理流程的实现,如果需要编写的视图属于这五种,则视图可以通 ...

  7. [Django REST framework - 视图组件之视图基类、视图扩展类、视图子类、视图集]

    [Django REST framework - 视图组件之视图基类.视图扩展类.视图子类.视图集] 视图继承关系 详图见文章末尾 视图组件可点我查看 两个视图基类:APIView.GenericAP ...

  8. WorldWind源码剖析系列:插件列表视图类PluginListView和插件列表视图项类PluginListItem

    WorldWind中的插件类是个庞大的类,可以说从软件设计层面上统筹可扩展的插件体系的设计思想是WorldWind中的精华,值得学习和借鉴.插件体系中的所用到的类可以分为两大类,一类是插件类Plugi ...

  9. 滚动视图、列表视图[ListView、SimpleAdapter类]

    滚动视图 <ScrollView android: layout_width="fill_parent" android: layout_height="fill_ ...

随机推荐

  1. Codeforces Round #FF (Div. 1) B. DZY Loves Modification

    枚举行取了多少次,如行取了i次,列就取了k-i次,假设行列单独贪心考虑然后相加,那么有i*(k-i)个交点是多出来的:dpr[i]+dpc[k-i]-i*(k-i)*p 枚举i取最大值.... B. ...

  2. undefined详解

    [对于<JS高级程序设计>的理解] “即使未初始化的变量会自动被赋值undefined值,但显式地初始化变量依然是明智的选择.如果能够做到这一点,那么当typeof操作符返回‘undefi ...

  3. 【jQuery】select动态追加的option选中

    var turnUpHidden = $("input[name='turnUpHidden']").val(); if(turnUpHidden != "") ...

  4. Navicat工具里的empty table和truncate table的区别

    如图: 相同点:都会清空数据表里的所有数据 不同点:empty table是清空表里的数据:truncate table是删除表,然后再创建这张表 意义:对于主索引自动增加的情况,empty清表后,新 ...

  5. JAVA单例MongoDB工具类

    我经常对MongoDB进行一些基础操作,将这些常用操作合并到一个工具类中,方便自己开发使用. 没用Spring Data.Morphia等框架是为了减少学习.维护成本,另外自己直接JDBC方式的话可以 ...

  6. 使用HttpClient发送请求接收响应

    1.一般需要如下几步:(1) 创建HttpClient对象.(2)创建请求方法的实例,并指定请求URL.如果需要发送GET请求,创建HttpGet对象:如果需要发送POST请求,创建HttpPost对 ...

  7. OpenCV学习(3) OpenCV框架

          OpenCV是一个开源的视觉库,其中包括很多计算机视觉的算法实现.在版本2.2以后,OpenCV采用C++特征的API,在1.x版本中,OpenCV函数都是传统的C语言形式.       ...

  8. 关于一道面试题,使用C#实现字符串反转算法

    关于一道面试题,使用C#实现字符串反转算法. 题目见http://student.csdn.net/space.php?do=question&ac=detail&qid=490 详细 ...

  9. 高性能WEB开发:重排与重绘

    DOM编程可能最耗时的地方,重排和重绘. 1.什么是重排和重绘 浏览器下载完页面中的所有组件——HTML标记.JavaScript.CSS.图片之后会解析生成两个内部数据结构——DOM树和渲染树. D ...

  10. C++实现委托机制(一)

    1.引言: 如果你接触过C#,你就会觉得C#中的delegate(委托)十分灵巧,它的用法上和C\C++的函数指针很像,但是却又比C\C++的函数指针更加灵活.并且委托可以一对多,也就是可以注册多个函 ...