Hi akhter,
Check this example. Now please take its reference and correct your code.
HTML
<asp:GridView ID="gvv" runat="server" ShowHeaderWhenEmpty="true" BackColor="White" BorderColor="#E7E7FF"
BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Horizontal" Width="908px"
AutoGenerateColumns="False" OnRowDataBound="gvv_RowDataBound" ShowFooter="True"
OnSelectedIndexChanged="gvv_SelectedIndexChanged" AutoGenerateSelectButton="True">
<AlternatingRowStyle BackColor="#F7F7F7" />
<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
<PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
<RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
<SortedAscendingCellStyle BackColor="#F4F4FD" />
<SortedAscendingHeaderStyle BackColor="#5A4C9D" />
<SortedDescendingCellStyle BackColor="#D8D8F0" />
<SortedDescendingHeaderStyle BackColor="#3E3277" />
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />
<asp:TemplateField HeaderText="Customer">
<ItemTemplate>
<asp:Label ID="Customer" runat="server" Text='<%#Bind("Customer")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Type">
<ItemTemplate>
<asp:Label ID="Type" runat="server" Text='<%#Bind("Type")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Total">
<ItemTemplate>
<asp:Label ID="Total_Amt" runat="server" Text='<%#Bind("Total_Amt")%>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblTotal2" runat="server"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Received">
<ItemTemplate>
<asp:Label ID="Received" runat="server" Text='<%#Bind("Received")%>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblTotal3" runat="server"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Pending">
<ItemTemplate>
<asp:Label ID="Pending" runat="server" Text='<%#Bind("Pending")%>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblTotal1" runat="server"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Date">
<ItemTemplate>
<asp:Label ID="Date" runat="server" Text='<%# Eval("Date", "{0:d/M/yyyy}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<div align="center">No records found.</div>
</EmptyDataTemplate>
</asp:GridView>
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.AddRange(new System.Data.DataColumn[] {
new System.Data.DataColumn("Id"),
new System.Data.DataColumn("Customer"),
new System.Data.DataColumn("Type"),
new System.Data.DataColumn("Total_Amt"),
new System.Data.DataColumn("Received"),
new System.Data.DataColumn("Pending"),
new System.Data.DataColumn("Date",typeof(DateTime)) });
dt.Rows.Add(1024, "Waseem", "Credit", 100, 100, 0, "2020/11/18");
dt.Rows.Add(1024, "Cash", "Cash", 200, 150, 50, "2020/11/18");
gvv.DataSource = dt;
gvv.DataBind();
}
}
protected void gvv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.FindControl("Pending") as Label).Text.Trim() == "0")
{
e.Row.Cells[0].Enabled = false;
}
}
}
protected void gvv_SelectedIndexChanged(object sender, EventArgs e)
{
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
Dim dt As Data.DataTable = New Data.DataTable()
dt.Columns.AddRange(New Data.DataColumn() {
New Data.DataColumn("Id"),
New Data.DataColumn("Customer"),
New Data.DataColumn("Type"),
New Data.DataColumn("Total_Amt"),
New Data.DataColumn("Received"),
New Data.DataColumn("Pending"),
New Data.DataColumn("Date", GetType(DateTime))})
dt.Rows.Add(1024, "Waseem", "Credit", 100, 100, 0, "2020/11/18")
dt.Rows.Add(1024, "Cash", "Cash", 200, 150, 50, "2020/11/18")
gvv.DataSource = dt
gvv.DataBind()
End If
End Sub
Protected Sub gvv_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
If (TryCast(e.Row.FindControl("Pending"), Label)).Text.Trim() = "0" Then
e.Row.Cells(0).Enabled = False
End If
End If
End Sub
Protected Sub gvv_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
End Sub