我有一個代碼塊,它返回一個員工對象列表。
結果集包含多個員工記錄。其中一個要素是EmployeeID。
我需要僅用EmployeeID填充listview(lstDepartment)。我怎樣才能做到這一點?在asp.net中填充列表框控件
lstDepartment.DataSource = oCorp.GetEmployeeList(emp);
lstDepartment.DataBind()
我有一個代碼塊,它返回一個員工對象列表。
結果集包含多個員工記錄。其中一個要素是EmployeeID。
我需要僅用EmployeeID填充listview(lstDepartment)。我怎樣才能做到這一點?在asp.net中填充列表框控件
lstDepartment.DataSource = oCorp.GetEmployeeList(emp);
lstDepartment.DataBind()
你也必須指定此顯示:
lstDepartment.DataSource = oCorp.GetEmployeeList(emp);
lstDepartment.DataTextField = "EmployeeID";
lstDepartment.DataValueField = "EmployeeID";
lstDepartment.DataBind()
的一種方法是使用匿名類型:
lstDepartment.DataSource = oCorp.GetEmployeeList(emp)
.Select(emp => new { emp.EmployeeID });
lstDepartment.DataBind();
編輯:但你也可以選擇所有列,但diplay只有一個。 A ListView
不是ListBox
或DropDownList
。只會顯示您使用的內容。所以,如果你的ItemTemplate看起來像:
<ItemTemplate>
<tr runat="server">
<td>
<asp:Label ID="LblEmployeeID" runat="server" Text='<%# Eval("EmployeeID") %>' />
</td>
</tr>
...只有EmployeeID
顯示,無論whatelse是在你的DataSource
。
您可能會提什麼在你的ListView
的ItemTemplate
<asp:ListView ID="lstDepartment" runat="server">
<ItemTemplate>
<p> <%#Eval("EmployeeID") %> </p>
</ItemTemplate>
</asp:ListView>
@TimSchmelter:啊!我應該讀得更好!感謝您用友好的方式指出:)刪除答案,因爲它現在不值得! – Shyju 2012-07-29 22:03:35
ListView不是ListBox,它既沒有DataTextField也沒有DataValueField屬性。 – 2012-07-29 22:04:00
我的錯誤@TimSchmelter ...我的控件是一個ListBox,而不是一個ListView。 – DotNetRookie 2012-07-29 22:19:20