2010-02-18 2 views
1

Я создаю анонимный список <> здесь:Возможно привязать анонимный список <> к gridview?

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

Петлю я через мой код и загрузить список с пунктами и привязать его к моему 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); заявления, Вы установили Visible свойства GridView к истинной. В вашем коде установлено значение false, что не видно.

Надеюсь, что это поможет.

Matrich