[英]How to make gridview last column Button
我正在嘗試使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>
設置AutoGeneratedColumn=false
並添加如下所示的模板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>
只需將您當前的“最后一個”列替換為ButtonField
,例如:
<asp:ButtonField ButtonType="button" CommandName="MoreDetail"
HeaderText="More Details" Text="More Details" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.