从listView1中选择记录到listView2中

1.自定义Worker字段类

    public class SelectWorker
    {
        public int WorkerID;
        public string WkName;
    }

2.定义全局变量

        List<SelectWorker> wkList0 = new List<SelectWorker>();
        List<SelectWorker> wkList1 = new List<SelectWorker>();
        List<SelectWorker> wkList2 = new List<SelectWorker>();

        int selRow0 = -1, selRow1 = -1;
        int selTRow0 = -1, selTRow1 = -1;

3.初始化listView函数

        void InitListView12()
        {
            listView1.View = View.Details;
            ColumnHeader ch1 = new ColumnHeader();
            ColumnHeader ch2 = new ColumnHeader();
            ch1.Text = "编码";
            ch2.Text = "姓名";
            listView1.Columns.Add(ch1);
            listView1.Columns.Add(ch2);

            listView2.View = View.Details;
            ColumnHeader ch4 = new ColumnHeader();
            ColumnHeader ch5 = new ColumnHeader();
            ch4.Text = "编码";
            ch5.Text = "姓名";
            listView2.Columns.Add(ch4);
            listView2.Columns.Add(ch5);
        }

4.窗体加载事件

        private void Form1_Load(object sender, EventArgs e)
        {
            string SQL;
            InitListView12();
            MyDBase DB = new MyDBase(DBUser.sServer, DBUser.sDBName, DBUser.sUser, DBUser.sPasswd);
            SQL = "SELECT workerID,wkName FROM worker order by workerID";
            SqlDataReader RD0 = DB.DBDataReader(SQL);
            while (RD0.Read())
            {
                SelectWorker SW = new SelectWorker();
                SW.WorkerID = int.Parse(RD0["WorkerID"].ToString());
                SW.WkName = RD0["WkName"].ToString();
                wkList0.Add(SW);
                wkList2.Add(SW);
                ListViewItem lvi = new ListViewItem();
                lvi.Text = SW.WorkerID;
                lvi.SubItems.Add(SW.WkName);
                listView1.Items.Add(lvi);
            }
            RD0.Close();
            DB.DBClose();
        }

5.向listView1和listView2中加减记录

        void LoadInListView12()
        {
            int i, n;
            listView1.Items.Clear();
            listView2.Items.Clear();
            InitListView12();
            n = wkList0.Count;
            for (i = 0; i < n; i++)
            {
                ListViewItem lvi = new ListViewItem();
                lvi.Text=wkList0[i].WorkerID.ToString();
                lvi.SubItems.Add(wkList0[i].WkName);
                listView1.Items.Add(lvi);
            }
            n = wkList1.Count;
            for (i = 0; i < n; i++)
            {
                ListViewItem lvi = new ListViewItem();
                lvi.Text=wkList0[i].WorkerID.ToString();
                lvi.SubItems.Add(wkList0[i].WkName);
                listView1.Items.Add(lvi);
             }
         }

6.listView1和listView的选择事件

        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int length = listView1.SelectedItems.Count;
            for (int i = 0; i < length; i++)
                selRow0 = listView1.SelectedItems[i].Index;
        }

        private void listView2_SelectedIndexChanged(object sender, EventArgs e)
        {
            int length = listView2.SelectedItems.Count;
            for (int i = 0; i < length; i++)
                selRow1 = listView2.SelectedItems[i].Index;
        }

7.添加员工

        private void button1_Click(object sender, EventArgs e)
        {
            if (selRow0 == -1)
            {
                MessageBox.Show("请选择一个职工", "没有选择职工提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            SelectWorker SelWK = new SelectWorker();
            SelWK = wkList0[selRow0];
            wkList0.Remove(SelWK);
            wkList1.Add(SelWK);
            LoadInListView12();
            selRow0 = -1;
        }

8.减掉员工

        private void button2_Click(object sender, EventArgs e)
        {
            if (selRow1 == -1)
            {
                MessageBox.Show("请选择一个职工", "没有选择职工提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            SelectWorker SelWK = new SelectWorker();
            SelWK = wkList1[selRow1];
            wkList1.Remove(SelWK);
            wkList0.Add(SelWK);
            LoadInListView12();
            selRow1 = -1;
        }
时间: 2024-10-10 06:35:31

从listView1中选择记录到listView2中的相关文章

ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中

ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET MVC搭建项目后台UI框架—4.tab多页签支持 ASP.NET MVC搭建项目后台UI框架—5.Demo演示Controller和View的交互 ASP.NET MVC搭建项目后台UI框架—6.客户管理(添加.修改.查询.分页) ASP.NET MVC搭建项目后台UI框架—7.统计报表 ASP.NE

[前端] 记录一些工作中遇到的问题,及解决方案

最近一年,在开发实践过程中遇到了不少问题,大多都能得到解决 部分知其原理,部分只能做到解决问题,而半年前遇到的问题,或多或少都忘得差不多了 是该记录一下一些问题,防止再遇到就得再查资料了 1. 浏览器在开启有道划词插件的时候,使用 AjaxFileUpload 插件上传文件报错 开启插件时,该插件会往文档中添加音频元素节点 而AjaxFileUpload插件的上传文件处理方式是,获取返回的实体内容,直接进行eval 解析,解析失败,报错,则无法上传 这插件在旧系统中常用到,解决办法就是不用这个插

常用sql 全记录(添加中)

-- 数据库SQL总结中........... --SQL分类: (CREATE,ALTER,DROP,DECLARE) ---DDL-数据定义语言(SELECT,DELETE,UPDATE,INSERT) ---DML-数据操纵语言(GRANT,REVOKE,COMMIT,ROLLBACK) --DCL-数据控制语言--设置内存选项--设置 min server memory 配置项EXEC sp_configure N'min server memory (MB)', 0 --设置 max

MySQL查询数据表中数据记录(包括多表查询)

MySQL查询数据表中数据记录(包括多表查询) MySQL查询数据表中数据记录(包括多表查询) 转自:http://www.baike369.com/content/?id=5355 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: select selection_list // 要查询的内容,选择哪些列 from table_list // 从什么表中查询,从何处选择行 where primary_

操作数据表中的记录

回顾和概述 默认约束和非空约束不存在表级约束,只能为列级约束 主键约束,唯一约束,外键约束即存在表级约束,也存在列级约束 ![上节课内容回顾][1] 约束划分 1,功能 非空约束 not null 主键约束 primary key 唯一约束 unique key 外键约束 foreign key 默认约束 default 2,个数 表级约束 foreign key unique key primary key 列级约束 not null default 更改 1,对字段的更改: 重命名 删除 增

Sql Server中清空所有数据表中的记录

清空所有数据表中的记录: 代码如下:exec sp_msforeachtable  @Command1 ='truncate table ?'删除所有数据表: 代码如下:exec sp_msforeachtable 'delete   N''?'''清空SQL Server数据库中所有表数据的方法(有约束的情况) 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公

MongoDB 基础命令——数据库表的增删改查——遍历操作表中的记录

遍历更新数据表中的记录 /***添加 Order[订单表中 订单中商品ID与商品数量]productionDate 事例数据 [ { "productionId":100001,"count":10 } , { "productionId":100002,"count":9 } ]***/ db.order.find().forEach( function(item){ db.order.update({_id:item._i

点滴记录——Windows 7中安装Sublime Text 3、cynwin、SublimeClang

转载请说明出处:http://blog.csdn.net/cywosp/article/details/34429697 1. 到https://www.cygwin.com/下载setup-x86_64.exe安装文件,下载后采用默认路劲安装,在选库的时候,选择相应的gcc g++ 2.到http://www.sublimetext.com/3下载Windows 64 bit的安装包,下载后安装 3. 安装Package Control 安装好sublime text 3后打开,然后按快捷键"

查询数据表中的记录

除非最终检索它们并利用它们来做点事情,否则将记录放入数据库没什么好处.这就是 SELECT 语句的用途,即帮助取出数据.SELECT 大概是 SQL 语言中最常用的语句,而且怎样使用它也最为讲究:用它来选择记录可能相当复杂,可能会涉及许多表中列之间的比较. SELECT语法: SELECT selection_list      选择哪些列 FROM table_list                从何处选择行 WHERE primary_constraint          行必须满足什