2013-12-11 75 views
1

我有一個web應用程序,它會生成一些webgets並返回Gridview中的結果。有時,應用程序可能需要製作400多個網頁,但只能用15-20條記錄填充網格。添加到GridView的方法

是否有辦法部分加載GridView,以便每個記錄都附加到現有的GridView

添加代碼

List<Test> testList = new List<Test>(); 
    foreach (Location str in list) 
     { 
      string url; 
      try 
      { 
       url = "http://www.test.com/" + str.Url; 

       XmlReader reader = XmlReader.Create(url); 

       Rss10FeedFormatter formatter = new Rss10FeedFormatter(); 
       if (formatter.CanRead(reader)) 
       { 
        formatter.ReadFrom(reader); 
        IEnumerable<SyndicationItem> items = formatter.Feed.Items; 

        int itemCt = 1; 
        foreach (SyndicationItem item in items) 
        { 
          Test test = new Test(); 
          test.Name = item.Name; 
          test.City= item.City; 

          testList.Add(data); 


          //if I add this here, the RowDatabound does not fire, if I take out, it works fine but only after all requests are made 
          listGrid.DataSource = temp; 
          listGrid.DataBind(); 


        } 
       } 
       else 
        throw new ApplicationException("Invalid RSS 1.0 feed at " + FeedUrl.Text.Trim()); 
      } 
+0

分享你的代碼,請 –

回答

1

創建一個單獨的列表,你將數據綁定的GridView控件,然後當你改變在該列表中的元素只是重新綁定gridview的。

var mySmallerList = bigList.Skip(someNumber).Take(someOtherNumber); 
myGridView.DataSource = mySmallerList; 
+0

我已經試過類似的東西,但網格的的RowDataBound永遠不會觸發因爲該進程仍在運行 –

+0

你能分拆另一個線程數據綁定呢? (我很笨,因爲這樣就不會在GUI線程上運行) 或者,分離線程來完成其他工作,在GUI線程上進行數據綁定。 –

+0

我已經嘗試了一個快速的線程,但是在數據綁定過程中出現綁定到網格的錯誤。任何其他想法? –