I tried to add labels and rows to tablelayout. When i used adding to listview like that:
ListViewItem ite = new ListViewItem(tag);
ite.Text = (tag + " " + description + war);
listView2.Items.Add(ite.Text);
it work,but when i try another it doesn’t work. Why? There aren’t any errors or exceptions.
foreach (DataElement elementy in sq)
{
for (int k = 0; k == row_number; k = k + 1)
{
tag = elementy.Tag.ToString();
description = elementy.VR.Tag.GetDictionaryEntry().Description;
// ListViewItem ite = new ListViewItem(tag);
//ite.Text = (tag + " " + description + war);
//listView2.Items.Add(ite.Text);
tableLayoutPanel1.GrowStyle = TableLayoutPanelGrowStyle.AddRows;
Label et_tag = new Label();
et_tag.AutoSize= true;
et_tag.Text = tag;
tableLayoutPanel1.Controls.Add(et_tag, 0, k);
Label op = new Label();
op.AutoSize = true;
op.Text = description;
tableLayoutPanel1.Controls.Add(op, 1, k);
}
}
Your inner
forloop won’t run unlessrow_numberis 0. Otherwise, it will fail its condition immediately after K is initialized and, as a consequence, do nothing. Your loop almost certainly isn’t running. If row_number actually is 0, your loop will run exactly once for every item in your outerforeachloop.What condition do you want the loop to run on? Do you mean
k < row_numberinstead? Do you just want to do this for a single k wherek == row_number, in which case you should simply assign row_number to k and get rid of the loop entirely? I don’t know where row_number comes from, so I don’t know what this code wants to do.