【发布时间】:2014-10-20 19:38:27
【问题描述】:
我有一个 Gridview,我想在添加的每一行中添加一个“操作”按钮,点击后我可以编辑或删除一行。
在我的图片中,它看起来像一个下拉列表。我更喜欢按钮,但下拉列表将作为最后的手段。
这是我迄今为止尝试过的:
<asp:GridView runat="server" ID="grdvwDepositTransaction"
AutoGenerateColumns="false" DataKeyNames="Status"
OnRowCommand="grdvwDepositTransaction_RowCommand" ShowHeaderWhenEmpty="true" ShowFooter="true" OnRowDataBound="grd_RowDataBound"
CssClass="grid" width="750">
<HeaderStyle CssClass="HeaderTemplate" />
<FooterStyle CssClass="FooterTemplate" />
<Columns>
<asp:TemplateField >
<ItemTemplate>
<input onclick="javascript: showMenu(); return false;" onmouseout="javascript: hideMenu(); return false;" type="button" class="savebutton" value="Actions" id="actionMenuRowSomething" />
<ul id="actionMenuRow" style="display: none; margin-top: -6px; text-align: left; padding: 0px; margin-right: 0px; " onmouseover="javascript: showMenu(); return false;" onmouseout="javascript: hideMenu(); return false;" class="ui-menu">
<li><a href="#" onclick="ShowHomeScreen();">something</a></li>
<li>
<asp:LinkButton ID="something" runat="server" Text="View Updates" style="width:100px;">works</asp:LinkButton>
</li>
</ul>
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="DepositEntry.cardNumber" HeaderText="Card Number" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="DepositEntry.accountNumber" HeaderText="Account Number" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="DepositEntry.firstName" HeaderText="Customer Name" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="DepositEntry.transactionDateTime" HeaderText="Transaction Date/Time" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="DepositEntry.cashAmount" HeaderText="Cash Amount" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="DepositEntry.depositAmount" HeaderText="Envelope Deposit Amount" ItemStyle-CssClass="mediumColumn columnCenter" />
</Columns>
<EmptyDataTemplate>
<br />
<br /><br />
<span style="font-weight: bold; text-anchor:middle;">No Transactions have been entered</span>
</EmptyDataTemplate>
</asp:GridView>
【问题讨论】:
-
我认为最好为每一行设置复选框或单选框,并将操作放在一个位置。选择要对其执行操作的行,然后选择操作。这样,您将不会有许多按钮堵塞网格。想想任何电子邮件帐户:您选择电子邮件,然后执行操作。
-
@CodeWhisperer 感谢您的宝贵时间!
-
下拉菜单将确保一排完整的按钮畅通无阻。菜单将填充 - 编辑、删除和其他操作。
-
但是你仍然会为每一行提供一个下拉菜单
-
@CodeWhisperer 没错,这正是我想要的。每行都有一个下拉菜单,其中包含更新、删除、复制等特定行的选项。
标签: c# jquery asp.net gridview gridviewrow