Tengo un GridView:¿Es posible enlazar un asp: GridView a una lista <T>?
<asp:GridView ID="grdRestitutions" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="JobNumber" HeaderText="Job" />
<asp:BoundField DataField="ContainerType" HeaderText="Type" />
<asp:BoundField DataField="ReleaseDate" HeaderText="Date" />
<asp:BoundField DataField="Commodity" HeaderText="Commodity" />
<asp:BoundField DataField="GrossWeight" HeaderText="Weight" />
<asp:BoundField DataField="SpecialInstructions" HeaderText="Special Instructions" />
</Columns>
</asp:GridView>
Que estoy tratando de establecer el origen de datos para ser una List<Restitution>()
donde Restitution
es una estructura pública que consiste solamente de miembros del público; es decir:
public struct Restitution
{
public int ContainerReleasesId;
public int ContainerId;
public System.DateTime ReleaseDate;
public int DepotId;
public string DepotName;
public string JobNumber;
public string BillOfLadingNumber;
public string BookingType;
public string Commodity;
public string SpecialInstructions;
public int GrossWeight;
public bool Confirmed;
public bool RecievedFlag;
public bool ReleaseSource;
public int ContainerTypeId;
public string InOut;
public string ContainerTypeDescription;
}
se ven los datos de unión bastante inocuo, también:
grdRestitutions.DataSource = restitutions;
grdRestitutions.DataBind();
Sin embargo, se produce una excepción en la declaración DataBind()
con el mensaje de menos de útiles de:
" Un campo o propiedad con el nombre 'JobNumber' no se encontró en la fuente de datos seleccionada. "
No entiendo por qué esto no funciona; mientras que la mayoría de los ejemplos y casos de uso parecen usar DataSet
s, parece que debería admitir objetos que implementan IEnumerable
. ¿Hay algo especial que deba hacer para permitir que funcione?
Su código me parece correcto. ¿Está seguro de que su enlace con la fuente de datos correcta y no es nulo ni nada? – Magnus