如何从checkedlistbox中获取所选项目并在datagridview中显示 [英] how to get selected items from checkedlistbox and show in datagridview
本文介绍了如何从checkedlistbox中获取所选项目并在datagridview中显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在表单中使用了面板,面板中的checkedlistbox会动态显示,在checkedlist框中会出现很多复选框。当我点击按钮时,在checkedlist框中选中的所有项目应该出现在datagridview中。,i使用以下编码。,但没有发生任何过程
i used panel in the form, inside the panel checkedlistbox will appear dynamically, in the checkedlist box many checkbox will appear., when i click button, what are all the items selected in the checkedlist box should appear in datagridview., i used below coding., but no process happening
string[] total_items = new string[50];
int items = 0;
private void button1_Click(object sender, EventArgs e)
{
try
{
foreach (Control p in panel1.Controls)
{
if (p.GetType() == typeof(CheckedListBox))
{
CheckedListBox getdata = new CheckedListBox();
total_items[items] = getdata.SelectedItem.ToString();
items++;
}
}
dataGridView1.Columns.Add("Items", "Choosed Items");
for (int cnt = 0; cnt < items; cnt++)
{
dataGridView1.Rows.Add(total_items[cnt]);
}
}
catch (SqlException err)
{
MessageBox.Show(err.Message);
}
}
推荐答案
您的代码不会像这样工作。 total_items应该是一个字符串列表。它应该是这样的,玩它来使事情有效:
Your code won't work like this. total_items should be a list of strings. It should be something like this, play around with it to make things work:
foreach (Control p in panel1.Controls)
{
if (p.GetType() == typeof(CheckedListBox))
{
total_items.Clear();
CheckedListBox getdata = (CheckedListBox)p;
foreach (int index in getdata.CheckedIndices)
{
total_items.Add(getdata.Items[index].ToString());
}
}
}
dataGridView1.Rows.Clear();
dataGridView1.Columns.Add("Items", "Choosed Items");
for (int cnt = 0; cnt < total_items.Count; cnt++)
{
dataGridView1.Rows.Add(total_items[cnt], true); // or something like that
}
这篇关于如何从checkedlistbox中获取所选项目并在datagridview中显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文