2012-01-02 31 views
0

我可以得到枚舉器和當前對象,但我不知道對象包含什麼,所以當我不知道類型和寫入時如何迭代集合在那裏值。示例代碼將是巨大的,請我如何迭代CreateChildControls中的IEnumerable數據源GridView

protected override int CreateChildControls(System.Collections.IEnumerable dataSource, bool dataBinding) 
    { 
     // Call base method and get number of rows 
     int numRows = base.CreateChildControls(dataSource, dataBinding); 

     IEnumerator enumerator = dataSource.GetEnumerator(); 
     while(enumerator.MoveNext() 
     { 
      object obj = enumerator.Currnet as object; 
     } 

     return numRows; 
    } 
} 
+0

你看到了什麼結果?你在期待什麼? – RickNZ 2012-01-02 09:37:41

+0

這是關係到我的其他職位http://stackoverflow.com/questions/8698008/writing-out-the-data-for-each-row-in-custom-gridview-control-and-adding-insert-r我我沒有得到任何結果,因爲我不知道如何將值放入GridViewRow – ONYX 2012-01-02 09:59:20

+0

@RickNZ im從新澤蘭州和惠靈頓 – ONYX 2012-01-02 10:01:22

回答

1

正如我在您的其他問題表示,短期回答你的問題是「反思」。這就是標準的數據綁定工具如何發揮他們的魔力。

+0

你能給我一個鏈接或鏈接到一些頁面的例子 – ONYX 2012-01-02 10:39:32

+0

檢查了這個http://typedescriptor.net /System.Web.UI.WebControls.GridView.CreateChildControls(IEnumerable,Boolean) – ONYX 2012-01-02 10:43:54

+0

原代碼使用「暫定」(「as」)強制轉換以檢查各種類型。起初,這是反思的一種選擇,但有時還不夠。 – RickNZ 2012-01-02 11:01:36