zoukankan      html  css  js  c++  java
  • C#:列表视图操作类

    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);
            }
    
        }
    }
    
  • 相关阅读:
    【分享】使用Vivado,vck190 BIST 测试,遇到错误“IDCODE/SW CHECK: FAILED”,可以忽略。
    公司预算制定/财务信息化/管理层执行
    税款输入不正确 j2
    发票凭证仍然包含信息
    会计暂估
    委托加工\受托加工凭证处理\会计处理
    记录unknown filesystem type ntfs
    c#多进程通讯,今天,它来了
    多线程通信,IPC,进程通信
    go语言跨平台编译
  • 原文地址:https://www.cnblogs.com/shenchao/p/3713646.html
Copyright © 2011-2022 走看看