【问题标题】:adding button to each row in gridview that has a drop down menu向具有下拉菜单的gridview中的每一行添加按钮
【发布时间】: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


【解决方案1】:

有什么理由必须将其限制为一列?然后你可以使用:

AutoGenerateDeleteButton="True"
AutoGenerateEditButton="True"

...与确定选择了哪个下拉项目等相比,连接要容易得多。

【讨论】:

    【解决方案2】:

    尝试以下方法:

     <asp:TemplateField HeaderText="">                         
                            <EditItemTemplate>
                                <asp:ImageButton ID="ibtnUpdate" runat="server" CommandName="Update" CausesValidation="true" ImageUrl="~/Content/Images/h.ico"  />
                                <asp:ImageButton ID="ibtnCancel" runat="server" CommandName="Cancel" CausesValidation="false" ImageUrl="~/Content/Images/j.ico"  />
                            </EditItemTemplate>
                            <ItemTemplate>
                                <asp:ImageButton ID="ibtnEdit" runat="server" CommandName="Edit" CausesValidation="false" ImageUrl="~/Content/Images/k.ico"  />
                                <asp:ImageButton ID="ibtnDelete" runat="server" CommandName="Delete" CausesValidation="false" ImageUrl="~/Content/Images/l.ico"  />
                            </ItemTemplate>                          
                        </asp:TemplateField>
    

    您可以随意参考图片。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 2020-08-08
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多