Try this
HTML
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.blink
{
background-color: Red;
text-decoration: blink;
}
body
{
font-family: Arial;
font-size: 10pt;
}
table
{
border: 1px solid #ccc;
}
table th
{
background-color: #F7F7F7;
color: #333;
font-weight: bold;
}
table th, table td
{
padding: 5px;
border-color: #ccc;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Name" ItemStyle-Width="150" />
<asp:BoundField DataField="Country" HeaderText="Country" ItemStyle-Width="150" />
<asp:TemplateField HeaderText="Salary" ItemStyle-Width="150">
<ItemTemplate>
<asp:TextBox ID="txtSalary" runat="server" Text='<%# Eval("Salary") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
var intervals = new Array();
$(function () {
$("[id*=GridView] [id*=txtSalary]").each(function () {
var salary = parseInt($(this).val());
intervals.push(null);
if (isNaN(salary) || salary <= 0) {
SetBlink($(this));
}
});
$("[id*=GridView] [id*=txtSalary]").bind("change", function () {
var salary = parseInt($(this).val());
if (isNaN(salary) || salary <= 0 || salary.toString() != $(this).val()) {
SetBlink($(this));
} else {
RemoveBlink($(this));
}
});
});
function SetBlink(txt) {
var tds = txt.closest("tr").find("td");
var index = txt.closest("tr")[0].rowIndex - 1;
if (intervals[index] == null) {
var interval = setInterval(function () {
if (tds.hasClass("blink")) {
tds.removeClass("blink");
} else {
tds.addClass("blink");
}
}, 500);
intervals[index] = interval;
}
}
function RemoveBlink(txt) {
var index = txt.closest("tr")[0].rowIndex - 1;
txt.closest("tr").find("td").removeClass("blink");
clearInterval(intervals[index]);
intervals[index] = null;
}
</script>
</form>
</body>
</html>
Namespace
using System.Data;
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Name"), new DataColumn("Country"), new DataColumn("Salary"), });
dt.Rows.Add("John Hammond", "United States", 10000);
dt.Rows.Add("Mudassar Khan", "India", 12000);
dt.Rows.Add("Suzanne Mathews", "France", 0);
dt.Rows.Add("Robert Schidner", "Russia", 19000);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
Screenshot