2016-08-30 16 views
0

因此,我正在使用一個窗體應用程序,它從LAMP服務器獲取信息,我需要幫助,因爲我不知道如何按預期做到這一點。如何從另一個窗體窗體類重新加載我的列表視圖?

Apologies for the portuguese GUI

在這部分我可以從我的列表視圖中選擇一行,選擇「Excluir」,呼籲二次windows窗體類有關所選行的細節。當我在這個輔助表單中按「Excluir」時,顯示的信息將按照預期從我的數據庫中刪除,並且表單被關閉,但是我的listview不會更新。我試圖再次調用我的listview方法,但它只是複製信息而不是更新它。如下列表視圖我的方法:

public void carregarListaUsuarios() 
    {    
     for (int i = 0; i < numUsers; i++) 
     { 
      urlLoader = "accounts/returnUserById.php"; 

      obj = new POSTobject(); 
      obj.POSTrequest("param1=" + listaID[i], urlLoader); //send request to database with row ID 

      users[i] = parseUsers(obj, 7); //get the full row for each entry 
      lvi = new ListViewItem(users[i].getId()); 
      lvi.SubItems.Add(users[i].getPNome()); 
      lvi.SubItems.Add(users[i].getSNome()); 
      lvi.SubItems.Add(users[i].getCargo()); 
      lvGerenciarUsers.Items.Add(lvi); //add to the listview row 
     } //for 
    } 

道歉葡萄牙GUI,希望我做我的問題不夠清楚。

Edit1:忘記提及,用於加載我的listview的這個方法在主窗體構造函數類中被調用。

+1

那麼,你已經知道如何做到這一點。你有一個Button類和一個Form類,你的Form類可以看到按鈕對象發生了一些有趣的事情。你寫了一個Click事件處理程序。只要做完全相同的事情。在第二個表單類中引發事件,第一個表單類可以訂閱它以刷新列表視圖。 –

+0

@HansPassant @HansPassant我沒有設法找到正確的方法來做到這一點,但發現了另一篇文章的可選解決方案,關於如何使事件處理程序在我的輔助表單關閉時關注此標籤頁「Gerenciarusuários」所以它會相應地重新加載。我知道這不是最理想的方式,但它最終會奏效。 – MuriloRM

回答

1

在上面添加lvGerenciarUsers.Items.Clear()for循環它將清理所有項目,然後for循環將再次添加新更新項目。

+0

哦,等一下吧!我不得不使用lvGerenciarUsers.Items.Clear()。曾經嘗試過,但沒有弄清楚我需要「。項目」。分割。現在我只需要找到一種方法來在按下按鈕時從我的輔助窗口重新加載我的主窗體。 – MuriloRM

相關問題