中易网

C#中checkedlistbox的用法

答案:2  悬赏:10  
解决时间 2021-03-22 11:24
我有两个checkedlistbox,其中的选择项分别从表1和表2中读出字段值f1、f2得到,现在我相每次从box1和box2中选一项或多项,然后把值填充到表3中,填充时,不仅只是f1和f2,还有表2中f2字段值对应的一行的其它字段,请问如何实现?
表1
f1值:a1 a2 a3

表2
f2 f3 f4
b1 c1 d1
b2 c2 d2
b3 c3 d3

box1中显示a1 a2 a3
box2中显示b1 b2 b3
当选中a1、a2和b1、b3时,向表3中写入内容为:
a1 b1 c1 d1
a1 b3 c3 d3
a2 b1 c1 d1
a2 b3 c3 d3

表3结构已建立:f1,f2,f3,f4
最佳答案
不知道你的表示listview还是dategridview


这个逻辑不难理解吧


循环获取box1中的选择项,对每项循环 添加 box2的选择内容
(当然是根据box2的选择值查询表2得到的详细值)
然后每次获得一行完整的表3项,就添加到表3




下面以listview 为例
            listView3.Items.Clear();
            for (int i = 0; i < checkedListBox1.CheckedItems.Count; i++)
            {//获得表1的选择值
                for (int j = 0; j < checkedListBox2.CheckedItems.Count; j++)
                {//获得表2的选择值

                    //新的表3的行
                    ListViewItem lvi = new ListViewItem();
                    lvi.Text = checkedListBox1.CheckedItems[i].ToString();
                    for (int k = 0; k < listView2.Items.Count; k++)
                    {//获得完整的表2 的值,并添加到ListViewItem
                        if (listView2.Items[k].Text == lvi.Text)
                        {
                            lvi.SubItems.Add(listView2.Items[k].SubItems[0].Text);
                            lvi.SubItems.Add(listView2.Items[k].SubItems[1].Text);
                            lvi.SubItems.Add(listView2.Items[k].SubItems[2].Text);
                            listView3.Items.Add(lvi);
                            break;//这里是跳出 int k = 0 这个循环
                        }
                    }
                }
            }
全部回答
不知道你的表示listview还是dategridview 这个逻辑不难理解吧 循环获取box1中的选择项,对每项循环 添加 box2的选择内容 (当然是根据box2的选择值查询表2得到的详细值) 然后每次获得一行完整的表3项,就添加到表3 下面以listview 为例 listview3.items.clear(); for (int i = 0; i < checkedlistbox1.checkeditems.count; i++) {//获得表1的选择值 for (int j = 0; j < checkedlistbox2.checkeditems.count; j++) {//获得表2的选择值 //新的表3的行 listviewitem lvi = new listviewitem(); lvi.text = checkedlistbox1.checkeditems[i].tostring(); for (int k = 0; k < listview2.items.count; k++) {//获得完整的表2 的值,并添加到listviewitem if (listview2.items[k].text == lvi.text) { lvi.subitems.add(listview2.items[k].subitems[0].text); lvi.subitems.add(listview2.items[k].subitems[1].text); lvi.subitems.add(listview2.items[k].subitems[2].text); listview3.items.add(lvi); break;//这里是跳出 int k = 0 这个循环 } } } }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
成人唱高音和儿童唱高音那个比较轻松?
小蜜蜂充电充电源灯不亮是怎么回事?
新买的电脑为什么集显有时候刚一开机游戏帧数
网络借条还不上会被起诉上征信吗
过完年不去上班了,创业做什么好??
中国梦想秀第9季 什么时候开始
请问,我在网上申请的建行信用卡,查询说是:
大阳110型摩托车自动离合器的工作原理是什么
win7旗舰版32位CAD等软件程序安装好第一次能
九个月宝宝能喝葱白根煮水吗
天津有办美国签证的地方吗?
包头最好的高端英语培训机构是什么?
小八哥吃什么?
sixty-seven是什么意思
女人离开了男人.跟另一个男人在一起.结果之前
推荐资讯
在石家庄国际贸易城租一个十平左右的商铺租金
大于7分之6小于1的分数
甲减功能减退对宝宝吃奶有影响吗
徐浩女朋友是申秋,无所谓了,如果是真的,我
为什么我有奥特曼变身器变不了身
浴室角阀价格是多少?有晓得的朋友告诉我好吗
照现在这样,乌克兰和俄罗斯的问题最可能怎样
退伍军人在怀化加盟什么创业项目好??.
第一周捐书56本第二周捐比第一的2倍还多14本
中国人力资源前沿网论坛是HR的专业论坛吗?
夫妇之道,有义则和,无义则去是什么意思???
天天数码兽希望徽章活动什么时候出
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?