従業員オブジェクトのリストを返すコードブロックがあります。
結果セットには、複数の従業員レコードが含まれています。要素の1つは、EmployeeIDです。
リストビュー(lstDepartment)にEmployeeIDのみを入力する必要があります。どうやってやるの?
lstDepartment.DataSource = oCorp.GetEmployeeList(emp);
lstDepartment.DataBind()
これも指定する必要があります。
lstDepartment.DataSource = oCorp.GetEmployeeList(emp);
lstDepartment.DataTextField = "EmployeeID";
lstDepartment.DataValueField = "EmployeeID";
lstDepartment.DataBind()
1つの方法は、匿名タイプを使用することです。
lstDepartment.DataSource = oCorp.GetEmployeeList(emp)
.Select(emp => new { emp.EmployeeID });
lstDepartment.DataBind();
編集:ただし、すべての列を選択することもできますが、1つだけを表示します。AListView
はListBox
またはではありませんDropDownList
。使用したものだけが表示されます。したがって、ItemTemplateの場合は次のようになります。
<ItemTemplate>
<tr runat="server">
<td>
<asp:Label ID="LblEmployeeID" runat="server" Text='<%# Eval("EmployeeID") %>' />
</td>
</tr>
...EmployeeID
に何が含まれていても、のみが表示されますDataSource
。
ItemTemplate
ListViewのに何を表示するかについて言及することができます
<asp:ListView ID="lstDepartment" runat="server">
<ItemTemplate>
<p> <%#Eval("EmployeeID") %> </p>
</ItemTemplate>
</asp:ListView>