如何从checkedlistbox中获取所选项目并在datagridview中显示 [英] how to get selected items from checkedlistbox and show in datagridview

查看:215
本文介绍了如何从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆