我在asp.net web表單中有listview。我想選擇行並在點擊按鈕後更新選定的行。
爲此,我想使用複選框/複選框列表。但我不明白如何將所選行中的行或列的信息發送到Checkbox/CheckboxList項目。
如何選擇行並使用複選框/複選框列表更新它們?
我使用Asp.net Linq實體框架。
我的代碼如何更新ListView中的選定行
<asp:Button ID="ButtonTest" runat ="server" OnClick="ButtonTest_Click" />
<asp:ListView ID="ListView2" ItemType="DocCat.Models.ReqInf" SelectMethod="GetReqF" OnItemDataBound="ListView2_ItemDataBound"
DataKeyNames="requestN" EnableViewState="true" runat="server" UpdateMethod="ListView2_UpdateItem" DeleteMethod="ListView2_DeleteItem" InsertMethod="ListView2_InsertItem">
<LayoutTemplate>
<div class="outerContainer" style="overflow: scroll">
<table id="docTable">
<thead>
<tr>
<th>
Выбрать
</th>
<th>First</th>
<th>Request</th>
<th>Third</th>
<th>Four</th>
</tr>
</thead>
<tbody runat="server" id="itemPlaceholder"></tbody>
</table>
</div>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td> <asp:CheckBoxList runat="server" ID="CheckNew" ><asp:ListItem>Выбрать</asp:ListItem></asp:CheckBoxList></td>
<td>
</td>
<td><%# Item.BirthDate.Date%></td>
<td><%# Item.F1 %></td>
<td><%# Item.F2 %></td>
<td><%# Item.F3 %></td>
</tr>
</ItemTemplate>
</asp:ListView>
選定的行不CheckBoxList的項目,並在字符串selectedItems顯示:
CheckBoxList cblRoles = ListView2.Items[0].FindControl("CheckNew") as CheckBoxList;
string selectedItems = "";
for (int i = 0; i < cblRoles.Items.Count; i++)
{
if (cblRoles.Items[i].Selected)
{
selectedItems = selectedItems + cblRoles.Items[i].Value + ",";
}
}
注:在這裏您複選框ID應該是唯一的。因此,您將表中的主鍵列連接起來,並且還必須在查詢或存儲過程中使用主鍵。然後只有你能夠選擇該行。 – 123456
謝謝,但我有ListView –