如何制作gridview最后一列Button

时间:2014-05-28 10:55:26

标签: c# asp.net gridview

我正在尝试将gridview的最后一列字段设为Button。

尝试但无法做到这一点。

使用sql数据源在gridview中添加列时可以。但是要使用这种绑定方法来做到这一点。

这是我的代码 -

 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>

3 个答案:

答案 0 :(得分:1)

设置AutoGeneratedColumn=false并添加如下所示的模板字段。

像这样更改网格代码 -

<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>

答案 1 :(得分:0)

只需使用ButtonField替换当前的“最后”列,例如:

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

答案 2 :(得分:0)