【发布时间】:2014-05-22 13:55:42
【问题描述】:
我有一个在 Visual Studio 2010 中工作的 excel 2010 加载项,我需要用相同的信息填充三个组合框。所以我有一个 for 循环运行,然后我一个接一个地填充它们,但只有最后一个被填充。
public void tableScheme()
{
comboBox4.Items.Clear();
comboBox5.Items.Clear();
comboBox6.Items.Clear();
for (int j = 1; j <= schemaTable.Rows.Count; j++)
{
//string tableColumns = ("["+Convert.ToString(schemaTable.Rows[j - 1][0])+"]");
RibbonDropDownItem item = Globals.Factory.GetRibbonFactory().CreateRibbonDropDownItem();
item.Label = "testTEST";
if (j == schemaTable.Rows.Count)
{
comboBox4.Items.Add(item);
comboBox5.Items.Add(item);
comboBox6.Items.Add(item);
}
else
{
comboBox4.Items.Add(item);
comboBox5.Items.Add(item);
comboBox6.Items.Add(item);
}
}
}
我不确定为什么它只填充最后一个组合框。我知道这是正在发生的事情,因为我用 comboBox4 切换了 comboBox6,然后它只填充了 comboBox4。任何帮助都会很棒,在此先感谢!
【问题讨论】:
-
我认为那是因为您的 item 变量只能在 1 个组合框或类似的东西中。
-
如果我为每个组合框创建一个不同的变量/项目对象?
-
我不确定,但你可以试试。我不知道这是做什么的: RibbonDropDownItem 但我认为这使得该项目只能分配给 1 个框尝试使用断点或类似的东西每隔几秒钟将项目分配给另一个组合框,以便您检查。
标签: c# combobox vsto excel-2010