您可以将列表中的数据输入到组合框中吗?

时间:2013-11-16 20:04:39

标签: c#

我在类中创建了一个列表,遵循与

相同的行
public class Data
{
    private int num;
    private string text;


    public Data()
    {
    }

    public int Num
    {
        get { return num; }
        set { num = value; }
    }
    public string Text
    {
        get { return text; }
        set { text = value; }
    }


   static private List<Data> DataList = new List<Data>();

    static  public List<Data> GetList()
    {
        return DataList
    }

我使用

在其他课程中调出列表
List<Data> DataList = Data.GetList();
  • 确实在另一个类中获取列表允许您向其中添加项目吗?
  • 以及如何将项目添加到组合框中?
编辑:我正在尝试

    LstList.Items.Add(DataList.Any(item => item.Num));

但我得到的错误“无法隐式将int类型转换为bool” 和“名为”Data“的局部变量不能在此范围内声明,因为它会给”数据“赋予不同的含义”

编辑:我尝试过使用.DataSource,但显然它不存在?

3 个答案:

答案 0 :(得分:1)

如果我理解正确,您正在考虑在上面的代码中从其他类添加新项目到静态列表。如果是这样,那么你不能这样做。如果您想这样做,请公开一个名为

的方法
public static void SetList(Data item_)
{
DataList.Add(item_);
}

或者将List Public公开给其他类

在第二点,将comboBox的数据源分配给List。

comboBox.DataSource= DataList;

这是一个有用的附加链接 How do I do bind list of custom objects to ComboBox?

答案 1 :(得分:0)

您可以将列表绑定为DataSource

 comboboxName.DataSource = Data.GetList();
 comboboxName.ValueMember = "Num";
 comboboxName.DisplayMember = "Text";

答案 2 :(得分:0)

从DataList循环每个数据类,并将num属性添加到ListView控件

foreach(Data aData in DataList)
{
    LstList.Items.Add(aData.Num.ToString()));
}