如何将项目添加到ComboBox作为树列表

时间:2015-06-14 15:58:15

标签: c# winforms combobox tree

我遇到问题:我希望在ComboBox中显示项目,因为它们已被分类。如图:

enter image description here

我的表格中有两个属性,一个是vendorID,另一个是vendorType。我想在ComboBox

中显示这些供应商类型

我应该怎么做?

2 个答案:

答案 0 :(得分:1)

ComboBox项目包含非常愚蠢的对象。

你应该做的第一件事是创建一个class,也许是这样的:

class ComboItem
{
    public string Text { get; set; }
    public int Level { get; set; }
    public ComboItem (string text, int level)
    {  Text = text; Level = level;       }
    public override string ToString()
    {
        return "".PadLeft(Level) + Text;
    }
}

添加它们时,不要只是添加字符串,而是添加新类的实例:

for (int i = 0; i< 12; i++)
{
    comboBox1.Items.Add(new ComboItem("Item" + i, i%3));
}

这就是全部;诀窍是在ToString覆盖中添加一些空格。

您当然会从DataBase中提取文本。并且由您来提供每个条目的级别!!

结果如下,ConsolasFont

enter image description here

如果你想使用所有者绘图来获得更精致的外观,那也不是很难。但首先要做的是:获取关卡数据和文本。

如果你可以从SQL中提取它们,那可能是最好的。否则,您将不得不循环数据以进行一些分组/计数..

答案 1 :(得分:0)

虽然我无法访问Dropbox,因为公司PC阻止了哈哈。如果我理解正确,那么有一个简单的方法来安排项目。最简单的方法是为它们分配数字(ID)或优先级字段,或者按照您希望的方式在数据库中进行排列并从中拉出。确保未设置列表框上的所有自动排序。