如何将项目作为树列表添加到 ComboBox
How to add items to ComboBox as tree list
我有问题:我想在 ComboBox
中显示已分类的项目。如图:
我的 table 有两个属性,一个是 vendorID
,另一个是 vendorType
。我想在 ComboBox
中显示这些供应商类型
我应该怎么做?
虽然我无法访问保管箱,因为公司 PC 阻止了哈哈。如果我理解正确的话,那么有一种简单的方法可以安排物品。最简单的方法是为它们分配编号 (ID) 或优先级字段,或者按照您希望的方式在数据库中排列它们并从中提取。确保未设置列表框上的所有自动排序。
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;
}
}
添加它们时,不要简单地添加字符串,而是添加新 class:
的实例
for (int i = 0; i< 12; i++)
{
comboBox1.Items.Add(new ComboItem("Item" + i, i%3));
}
就是这样;诀窍是在 ToString
覆盖中添加几个空格。
您当然会改为从数据库中提取文本。并由您提供每个条目的级别!!
结果如下,Consolas
作为 Font
:
如果你想使用自绘来获得更精致的外观,那也不是很难。但首先要做的是:获取关卡数据和文本。
如果你能从 SQL 中提取它们,那可能是最好的。否则你将不得不循环你的数据来做一点grouping/counting..
我有问题:我想在 ComboBox
中显示已分类的项目。如图:
我的 table 有两个属性,一个是 vendorID
,另一个是 vendorType
。我想在 ComboBox
我应该怎么做?
虽然我无法访问保管箱,因为公司 PC 阻止了哈哈。如果我理解正确的话,那么有一种简单的方法可以安排物品。最简单的方法是为它们分配编号 (ID) 或优先级字段,或者按照您希望的方式在数据库中排列它们并从中提取。确保未设置列表框上的所有自动排序。
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;
}
}
添加它们时,不要简单地添加字符串,而是添加新 class:
的实例for (int i = 0; i< 12; i++)
{
comboBox1.Items.Add(new ComboItem("Item" + i, i%3));
}
就是这样;诀窍是在 ToString
覆盖中添加几个空格。
您当然会改为从数据库中提取文本。并由您提供每个条目的级别!!
结果如下,Consolas
作为 Font
:
如果你想使用自绘来获得更精致的外观,那也不是很难。但首先要做的是:获取关卡数据和文本。
如果你能从 SQL 中提取它们,那可能是最好的。否则你将不得不循环你的数据来做一点grouping/counting..