2009-10-28 39 views
0

添加內容列表視圖顯示的內容就像是問題與在ListView

ListViewItem item = new ListViewItem(); 
      listView1.Items.Add(item); 
      item.Text = "fdfdfd"; 
      item.SubItems.Add("melp"); 
      item.SubItems.Add("asfd"); 

簡單proceess任何一個可以告訴我究竟是什麼回事,雖然這裏也被添加的內容和顯示,,這段代碼我從我的項目

protected override void OnUpdate() 
    { 
     string func = "ResourcePolicySystemsLVI.OnUpdate"; 
     try 
     { 
      if(Data != null) 
      { 
       Text = base.Data.Name; 
       if(SubItems.Count == 1) 
       { 
       SubItems.Add(((IResourcePolicy)Data).ResourcePolicyEnabled.ToString()); // ResourcePolicyEnabled and ResourcePolicyCurrent are attributes 
       SubItems.Add(((IResourcePolicy)Data).ResourcePolicyCurrent.ToString()); 
       } 
       else 
       { 
       SubItems[1].Text = ((IResourcePolicy)Data).ResourcePolicyEnabled.ToString(); 
       SubItems[2].Text = ((IResourcePolicy)Data).ResourcePolicyCurrent.ToString(); 
       } 
      } 
      base.OnUpdate(); 
     } 

 /// <summary> 
    /// The IResourcePolicy interface of the ManagedDevice associated with this ListViewItem. 
    /// </summary> 
    public new IResourcePolicy Data 
    { 
     get 
     { 
      return (IResourcePolicy)base.Data; 
     } 
    } 

回答

0

好走,它正在檢查SubItemsç 'mount。如果只有一個子項目,它將添加兩個新的子項目,其中PolicyEnabled/PolicyCurrent字符串。否則,它假定有大於1個SubItem,並將SubItems的Text(值)設置爲新值。我認爲它應該是if(SubItems.Count > 1)。所以我想基本上在第一次運行時它不會找到子項目,創建2個新的子項目。然後在每一個後續的電話會簡單地更新現有的子項目,而不是增加更多

其實,我認爲SubItem.Count檢查應該> 0,因爲最初不會有子項目。如果該代碼實際工作,我假設子項創建之前,該函數曾被稱爲,因此它永遠不會中斷。總的來說,它看起來會變得很容易。

+0

感謝您的寶貴信息,清除了我的dobts – peter 2009-10-29 12:53:11