您的位置:首页 > 其它

关于水晶报表-逐个或多个从列表中选择数据并添加到其他列表框中

2009-09-27 16:06 369 查看
左右两个列表。从数据库库中读取数据到左边列表框中,并且显示。通过逐个添加、全部添加到右边列表框,且能从右边列表框中的数据能逐个删除和全部删除。

界面如下:



如果要能从列表中使用shift,ctrl等选中多个数据,那么可以设置列表框的属性selectMode为MultiSimple或者

MultiExtend。你也可以加一行代码实现:this.listBox1.SelectionMode = SelectionMOde.MultiSimple;

代码如下:

private void add_one_Click(object sender, EventArgs e)
{
int index = listBox1.SelectedIndex;//得到列表框中数据项的索引
if (index < 0)
{
MessageBox.Show("请选择门禁");
}
else
{
ListBox.SelectedObjectCollection obj = listBox1.SelectedItems;//通过选择的索引得到相应的数据项
for (int i = 0; i < obj.Count; i++)
{
if (!listBox2.Items.Contains(obj[i].ToString())) //判断右边的列表框中是否已经包含所选数据,防止重复添加。
{
listBox2.Items.Add(obj[i].ToString());//循环将左边列表框中的数据添加到右边列表框中
}
}

}

}

private void add_all_Click(object sender, EventArgs e)
{
//ListBox.SelectedObjectCollection obj = listBox1.SelectedItems;
foreach (object item in listBox1.Items)
{
if (!listBox2.Items.Contains(item.ToString()))
{
listBox2.Items.Add(item);
}
}

}

private void del_one_Click(object sender, EventArgs e)
{
if (listBox2.SelectedItems.Count == 0)
{
return;
}
else
{

listBox2.Items.Remove(listBox2.SelectedItem);
}
}

private void del_all_Click(object sender, EventArgs e)
{
listBox2.Items.Clear();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐