2013-03-17 75 views
0

我點擊API並將返回的解析數據存儲到List。目前,我正在顯示ListView中的數據。 我無法在GridView中顯示相同的列表。任何人都可以指導我如何做到這一點?如何將列表<string>綁定到ASP.NET中的GridView?

這是我的aspx.cs代碼:

protected void Page_Load(object sender, EventArgs e) 
    { 
     ComodityList obj_comodity_in = (ComodityList)Session["comodity_list"]; 
     Label1.Text = obj_comodity_in.status_code; 
     Label2.Text = obj_comodity_in.count.ToString(); 

     //ComodityList obj_comodity_in = (ComodityList)Session["comodity_list"]; 

     List<String> commodity_names = null; 
     getComodityNames(out commodity_names, obj_comodity_in); 
     ListView1.DataSource = commodity_names; 
     ListView1.DataBind(); 
    } 
    private void getComodityNames(out List<String> commodity_names, ComodityList cl) 
    { 
     commodity_names = new List<string>(); 
     foreach (Commodity c in cl.data) 
     { 
      commodity_names.Add(c.commodity); 
      commodity_names.Add(c.state); 
      commodity_names.Add(c.market); 
      commodity_names.Add(c.Maximum_Price.ToString()); 
      commodity_names.Add(c.Minimum_Price.ToString()); 
      commodity_names.Add(c.Modal_Price.ToString()); 
      commodity_names.Add(c.origin); 
      commodity_names.Add(c.unit); 
      commodity_names.Add(c.variety); 


     } 
    } 
+0

好了,一維數組一格?這有意義嗎? – 2013-03-17 07:20:48

+0

沒有意義...使用中繼器控制? – CarneyCode 2013-03-17 07:29:36

回答

0

如果你不想改變API(你仍想返回字符串列表),需要使用網格,你可以創建一個新類包含Commodity中已有的屬性,並使用列表字符串數據簡單地重新水化該類。每個新的'商品'類都可以使用新的List<Commodity>,您可以將其綁定到網格。

另一方面 - 重新考慮實際嘗試實現的內容,然後重新設計API(如果這是一個選項)可能會更好。

1

設置AutoGenerateColumns屬性爲true會幫助你。

的Default.aspx:

<asp:GridView ID="GridView1" runat="server" Width="95%" autogeneratecolumns = "false"> 

Default.aspx.cs:

public partial class _Default : Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     List<string> s = new List<string>() { "a", "b", "c" }; 
     this.GridView1.DataSource = s; 
     this.GridView1.DataBind(); 
    } 
} 
相關問題