ViewList 控制

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;//
using System.Collections; //

namespace MBrowser
{
    class ControlViewList
    {
        /// <summary>
        /// 添加两个项到ListView
        /// </summary>
        /// <param name="item1">项1</param>
        /// <param name="item2">项2</param>
        /// <param name="imageIndex">imageIndex索引</param>
        /// <param name="listView1">控制的ListView</param>
        public static void AddListItem(string item1,string item2,int imageIndex,ListView listView1)
        {
            //ListView控件中项的建立
            ListViewItem lvItem; //ListViewItem 成员,初学者可以暂时把该项理解为在Details模式中的一整行信息
            ListViewItem.ListViewSubItem lvSubItem; //表示 ListViewItem 的子项,也就是ListViewItem一行中的一列信息。
            lvItem = new ListViewItem();
            lvItem.Text = item1;
            //lvItem.Tag = "与该项相关联的信息的对象"; //Tag可以付任何对象的值,比如字符串,数值型...我经常用该项保存调用数据库时不用显示的编号信息。
            lvItem.ImageIndex = imageIndex; //如果你添加了imageslist控件并设置了关联,在此可以选择需要显示的图标。

            lvSubItem = new System.Windows.Forms.ListViewItem.ListViewSubItem();
            lvSubItem.Text = item2; //声明及设置Item的子项。
            lvItem.SubItems.Add(lvSubItem); //将子项添加到Item中。

            //如果需要添加第2,3.....个子项需要重复上面的代码,声明一个添加一个。

            listView1.BeginUpdate();
            //添加Item项代码
            listView1.Items.Add(lvItem);
            listView1.EndUpdate();
        }

        /// <summary>
        /// 获取选中行记录的第一个子项Text
        /// </summary>
        /// <param name="listView1">控制的ListView</param>
        /// <returns>第一个子项Text</returns>
        public static List<string> GetItemValue(ListView listView1)
        {
            List<string> list = new List<string>();
            if (listView1.SelectedItems != null)  //判断ListView控件是否有项目选中
            {
                //this.label5.Text = this.listView1.SelectedItems[0].Tag.ToString(); //读取Item中的Tag信息。
                for (int i = 0; i < listView1.SelectedItems.Count; i++)
                {
                    string str = listView1.SelectedItems[i].SubItems[1].Text; //读取Item子项信息。
                    list.Add(str);
                }
            }
            return list;
        }

        /// <summary>
        /// 获取选中的第一行,第一个子项Text
        /// </summary>
        /// <param name="listView1">控制的ListView</param>
        /// <returns>第一行,第一个子项</returns>
        public static string getFirstItemValue(ListView listView1)
        {
            string str = listView1.SelectedItems[0].SubItems[1].Text; //读取Item子项信息。
            return str;
        }

        /// <summary>
        /// 获取所有行的第一个子项Text
        /// </summary>
        /// <param name="listView1">控制的ListView</param>
        /// <returns>第一个子项Text</returns>
        public static List<string> allItemValue(ListView listView1)
        {
            List<string> list = new List<string>();
            if (listView1.SelectedItems != null)  //判断ListView控件是否有项目选中
            {
                for (int i = 0; i < listView1.Items.Count; i++)
                {
                    string str = listView1.Items[i].SubItems[1].Text; //读取Item子项信息。
                    list.Add(str);
                }
            }
            return list;
        }

        /// <summary>
        /// 全选或反选listView的所有列
        /// </summary>
        /// <param name="isSelected">如果全选为true,全不选为false</param>
        /// <param name="listView1">控制的ListView</param>
        public static void selectAllItems(bool isSelected, ListView listView1)
        {
            for (int i = 0; i < listView1.Items.Count; i++)
            {
                listView1.Items[i].Selected = isSelected;
                listView1.Items[i].Focused = isSelected;
            }
        }

        /// <summary>
        /// 删除选中行
        /// </summary>
        /// <param name="listView1">控制的ListView</param>
        public static void deleteItemSelect(ListView listView1)
        {
            if (listView1.SelectedItems != null)  //判断ListView控件是否有项目选中
            {
                while (listView1.SelectedItems.Count > 0)
                {
                    listView1.SelectedItems[0].Remove();
                }
            }
        }
    }
}
posted @ 2012-06-01 12:49  Yao,Mane  阅读(288)  评论(0编辑  收藏  举报