2010-09-07 1 views
0

Я попытался добавить метки и строки в tablelayout. Когда я использовал добавление в listview вот так:C# добавление меток в tablelayuot

ListViewItem ite = new ListViewItem(tag); 
ite.Text = (tag + " " + description + war); 
listView2.Items.Add(ite.Text); 

Это работает, но когда я попробую другой, он не работает. Зачем? Нет никаких ошибок или исключений.

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); 

     } 
} 

ответ

1

Ваш внутренний for цикл не будет работать, если row_number не равно 0. В противном случае, он не сможет его состояние сразу же после того, как K инициализируется и, как следствие, ничего не делать. Ваша петля почти наверняка не работает. Если row_number фактически is 0, ваш цикл будет выполняться ровно один раз для каждого элемента вашего внешнего цикла foreach.

Какое условие вы хотите, чтобы цикл работал? Вы имеете в виду k < row_number? Вы просто хотите сделать это для одного k, где k == row_number, и в этом случае вам следует просто назначить row_number k и полностью избавиться от цикла? Я не знаю, откуда появился row_number, поэтому я не знаю, что этот код хочет сделать.

+0

номера строки является количеством тегов для каждого элемента в последовательности. Каждый элемент имеет два тега, описывающих его. Я хочу показать эти теги в tablelayout. – luc

+0

Вам нужна привязка цикла k

+0

О, это правильно -> 'k luc

1

Не знаю, как вы инициализацию row_number, но, возможно, это должно быть что-то вроде:

for (int k = 0; k <= row_number; k = k + 1) 
+0

Я отремонтировал свою программу. Большое спасибо:) – luc