我有一個GridView:是否有可能綁定一個asp:GridView到列表<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>
,我試圖設置數據源是一個List<Restitution>()
其中Restitution
是隻包含公共成員的公共結構;即:
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;
}
數據綁定看起來相當無害的,太:
grdRestitutions.DataSource = restitutions;
grdRestitutions.DataBind();
然而,拋出一個異常的DataBind()
語句的不到有用的信息:
「未在所選數據源中找到名稱爲「JobNumber」的字段或屬性。「
我不明白爲什麼這不起作用;儘管大多數示例和用例似乎都使用DataSet
s,但似乎應該支持實施IEnumerable
的對象。有什麼特別的我必須做,讓它工作?
你的代碼看起來對我來說是正確的。你確定你與正確的數據源的綁定,它不是空的或任何東西。 – Magnus