2016-03-27 12 views
0

ではありません更新、私は私のリストビュー(listClients)C#の - 私は少し問題を抱えているリストビュー

private ListView initializeLstView() 
     { 
      var lstView = new ListView(); 
      var lstViewItem = new ListViewItem(); 
      for (uint i = 0; i < 18; ++i) 
      { 
       lstViewItem = lstView.Items.Add("Free"); 
       lstViewItem.SubItems.Add("Free"); 
      } 
      return (lstView); 
     } 

     private ListView setNamesToLstView() 
     { 
      var lstView = initializeLstView(); 
      try 
      { 
       for (uint i = 0; i < 18; ++i) 
       { 
        lstView.Items[(int)i].Text = clients.GetName(i); 
        lstView.Items[(int)i].SubItems[1].Text = "{" + i.ToString() + "}"; 
       } 
       lstView.Update();    
      } 
      catch (Exception a) 
      { 
       Interaction.MsgBox(a.ToString()); 
      } 
      return (lstView); 
     } 

     private void btnRefreshClients_Click(object sender, EventArgs e) 
     { 
      listClients = setNamesToLstView(); // Here, no update 
     } 

しかし、ここでの更新をしようとしている、私のListViewは何も含まれていない、いない更新/無リフレッシュ、なぜ?
どうすれば解決できますか?

+0

'listClients'とは何ですか? –

+0

listClientsは私のリストビューです –

答えて

0

問題は別のリストビューにアイテムを追加することです。

listClientsは、以前にControlsフォームに追加したListViewを指すメンバー変数です。そのリストビューにアイテムを追加する場合は、listClients.Items.Add(...)を使用してそのオブジェクトに正確にアイテムを追加する必要があります。

現在のところ、メソッド内にListViewを作成し、項目を追加してから最後に返され、listClientsに割り当てられました。新しい作成されたリストビューがフォームに表示されるわけではありません。これは、listClients変数が新しい作成されたコントロールを指すようにします。以前に作成されたものはListViewです。

+0

ありがとうございました! –

関連する問題