2010-02-18 38 views
1

我創建一個匿名列表<>這裏:可能將匿名列表<>綁定到gridview?

var pip = new { MCP = "", Measure = "", Year = "", url1 = "", url2 = "", url3 = "" }; 
var PipList = (new[] { pip }).ToList(); 

i循環通過我的代碼,並加載列表的項目,並將其綁定到我的GridView:

PipList.RemoveAt(0); 
gvReport.DataSource = PipList; 
gvReport.DataBind(); 

當我調試這我看到列表<>在我綁定它之前就有一些項目,但是當我在綁定之後查看gridview時它是空的。這是不可能的嗎?

我也試過定義一個類,而不是使用匿名對象,它也不起作用。

如果有幫助,這是在GridView

<asp:GridView ID="gvReport" Width="750" AutoGenerateColumns="false" runat="server" 
          AllowSorting="false" AllowPaging="false" CellPadding="4" GridLines="Both" 
          CssClass="gv_Style" Visible="false"> 
          <HeaderStyle BackColor="#000000" ForeColor="White" /> 
          <AlternatingRowStyle CssClass="gv_AlternatingRow" /> 
          <RowStyle CssClass="gv_Row" /> 
          <PagerStyle CssClass="gv_Pager" /> 
          <Columns> 
           <asp:BoundField HeaderStyle-HorizontalAlign="Center" DataField="MCP" HeaderText="MCP" /> 
           <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="PIP Measure" DataField="Measure" /> 
           <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Start Year" DataField="Year" /> 
           <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Summary" DataField="url1" htmlencode="false" /> 
           <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Detail" DataField="url2" htmlencode="false" /> 
           <asp:BoundField HeaderStyle-HorizontalAlign="Center" DataField="url3" htmlencode="false" HeaderText="Yearly Summary" /> 
          </Columns> 
         </asp:GridView> 

回答

1

實際上,你可以綁定一個匿名或定義的類列表到GridView。從你的代碼中,可能有兩個原因不起作用。

  1. 你創造anonyomous對象的列表中已有一個項目,然後在你的下一個代碼剪斷,你PipList.RemoveAt(0);因此留下您的列表爲空刪除它。
  2. 如果您在PipList.RemoveAt(0);聲明之後添加了其他項目,您是否將GridView的可見屬性設置爲true。在你的代碼中,它被設置爲false,這意味着它不可見。

希望有所幫助。

Matrich