Hi George616,
Use GridView OnRowDataBound event.
Refer below code.
HTML
<asp:GridView ID="AdminGrid" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None"
HorizontalAlign="Center" AutoGenerateColumns="false" ShowHeaderWhenEmpty="true"
Width="900px" Height="121px" OnRowDataBound="OnRowDataBound">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<EditRowStyle BackColor="#999999" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
<Columns>
<asp:TemplateField HeaderText="Email Address">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("email") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtname" Text="" runat="server" />
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="footertxtname" Text="" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Role">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("UserRole") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtname" Text="" runat="server" />
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="footertxtname" Text="" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Date Created">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("CreateDate") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtname" Text="" runat="server" />
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="footertxtname" Text="" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="delbutton" runat="server" class="btn btn-primary navbar-btn" Style="font-size: small"
Text="Delete" />
<asp:Button ID="ButtonU" runat="server" class="btn btn-primary navbar-btn" Style="font-size: small"
Text="Update" />
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<div style="text-align: center;">
No User Records</div>
</EmptyDataTemplate>
</asp:GridView>
Namespaces
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
Code
SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\Dataregister.mdf;Integrated Security=True");
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindGrid();
}
}
private void BindGrid()
{
string sql = "SELECT * FROM Users WHERE CreatedBy=@CreatedBy OR @CreatedBy = ''";
using (SqlCommand cmd = new SqlCommand(sql))
{
cmd.Parameters.AddWithValue("@CreatedBy", Session["user"]);
cmd.Connection = con;
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
AdminGrid.DataSource = dt;
AdminGrid.DataBind();
}
}
}
}
protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string role = (e.Row.FindControl("Label2") as Label).Text.Trim().ToUpper();
(e.Row.FindControl("delbutton") as Button).Visible = role == "A" ? true : false;
}
}