c#中 checkedlistbox控件有什么用
1个回答
展开全部
不知道你的表示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 这个循环
}
}
}
}
这个逻辑不难理解吧
循环获取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 这个循环
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询