0
我有一个在Visual Studio 2010中工作的Excel 2010加载项,我需要用相同的信息填充三个组合框。所以我有一个for循环,然后我将所有的东西填满,但只有最后一个被填充。只在if语句中执行的最后一条语句
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个combobox或类似的东西。 –
所以,也许如果我为每个组合框做一个不同的变量/项目对象? – Benny
我不知道,但你可以试试。我不知道这是什么:RibbonDropDownItem,但我认为这使得该项目只能分配到1个盒子尝试使用断点或类似的东西每隔几秒将项目分配给另一个组合框,所以你可以检查。 –