简体   繁体   English

如何使gridview最后一列Button

[英]How to make gridview last column Button

I am trying to make gridview last column fields Button. 我正在尝试使gridview的最后一栏字段为Button。

Trying but could not do this. 尝试但无法执行此操作。

It is possible while adding column in gridview using sql data source. 使用SQL数据源在gridview中添加列时,这是可能的。 But to do this using this binding method. 但是要使用这种绑定方法来做到这一点。

Here is my code- 这是我的代码-

 private void BindUserRoles()
    {
        gvUserRoles.DataSource = UserRoles.GetAllRoles();
        gvUserRoles.DataBind();
    }
public List<UserRoles> GetAllRoles()
    {
        try
        {
            List<UserRoles> userRoles = new List<UserRoles>();

            using (IDataAccess dataAccess = Mspl.MobileTracking.DataAccess.DataAccess.GetDataAccess("TrackingConnectionString"))
            {
                var dataReader = dataAccess.RetrieveData("GetAllRoles", null);

                while (dataReader.Read())
                {
                    UserRoles roles = new UserRoles();
                    roles.RoleId = dataReader["RoleId"].ToString();
                    roles.RoleName = dataReader["RoleName"].ToString();

                    userRoles.Add(roles);
                }
            }

            return userRoles;
        }
        catch (Exception ex)
        {

            return null;
        }

    }



<asp:GridView ID="gvUserRoles" runat="server" EnableModelValidation="True" 
</asp:GridView>

Set AutoGeneratedColumn=false and add templatefields like shown below. 设置AutoGeneratedColumn=false并添加如下所示的模板AutoGeneratedColumn=false

Change your grid code like this- 像这样更改您的网格代码-

<Columns>
                <asp:BoundField DataField="RoleId" HeaderText="RoleId" ItemStyle-CssClass="HideColumn" HeaderStyle-HorizontalAlign="Left"/>
                <asp:TemplateField HeaderText="Role Name" HeaderStyle-CssClass="normalText">
                    <ItemTemplate>
                        <asp:Label ID="lblRoleName" CssClass="normalText" runat="server" Text='<%# Bind("RoleName") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Button ID="btnEditRole" runat="server" Text="Edit" OnClick="EditRoles_Click"></asp:Button>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>

Just replace your current "last" column with a ButtonField , for example: 只需将您当前的“最后一个”列替换为ButtonField ,例如:

<asp:ButtonField ButtonType="button" CommandName="MoreDetail" 
         HeaderText="More Details" Text="More Details" />

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM