Hi akhter,
use common class name to select the TextBox for compare.
Refer below sample code.
HTML
<asp:GridView ID="GridviewN" runat="server" ShowFooter="true" AutoGenerateColumns="false" DataKeyNames="ID" CssClass="Highlight">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />
<asp:TemplateField HeaderText="N 1">
<ItemTemplate>
<asp:TextBox ID="PackNo" Width="54px" runat="server" Text='<%#Bind("PackNo")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="N 2">
<ItemTemplate>
<asp:TextBox ID="PackNo1" Width="54px" runat="server" Text='<%#Bind("PackNo1")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="N 3">
<ItemTemplate>
<asp:TextBox ID="PackNo2" Width="54px" runat="server" Text='<%#Bind("PackNo2")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="N 4">
<ItemTemplate>
<asp:TextBox ID="PackNo3" Width="54px" runat="server" Text='<%#Bind("PackNo3")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="N 5">
<ItemTemplate>
<asp:TextBox ID="PackNo4" Width="54px" runat="server" Text='<%#Bind("PackNo4")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="N 6">
<ItemTemplate>
<asp:TextBox ID="PackNo5" Width="54px" runat="server" Text='<%#Bind("PackNo5")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="N 7">
<ItemTemplate>
<asp:TextBox ID="PackNo6" Width="54px" runat="server" Text='<%#Bind("PackNo6")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="N 8">
<ItemTemplate>
<asp:TextBox ID="PackNo7" Width="54px" runat="server" Text='<%#Bind("PackNo7")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="N 9">
<ItemTemplate>
<asp:TextBox ID="PackNo8" Width="54px" runat="server" Text='<%#Bind("PackNo8")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="N 10">
<ItemTemplate>
<asp:TextBox ID="PackNo9" Width="54px" runat="server" Text='<%#Bind("PackNo9")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<hr />
<asp:GridView ID="GridviewC" runat="server" ShowFooter="true" AutoGenerateColumns="false" DataKeyNames="ID" CssClass="Highlight">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />
<asp:TemplateField HeaderText="C 1">
<ItemTemplate>
<asp:TextBox ID="PackNo" Width="54px" runat="server" Text='<%#Bind("PackNo")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="C 2">
<ItemTemplate>
<asp:TextBox ID="PackNo1" Width="54px" runat="server" Text='<%#Bind("PackNo1")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="C 3">
<ItemTemplate>
<asp:TextBox ID="PackNo2" Width="54px" runat="server" Text='<%#Bind("PackNo2")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="C 4">
<ItemTemplate>
<asp:TextBox ID="PackNo3" Width="54px" runat="server" Text='<%#Bind("PackNo3")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="C 5">
<ItemTemplate>
<asp:TextBox ID="PackNo4" Width="54px" runat="server" Text='<%#Bind("PackNo4")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="C 6">
<ItemTemplate>
<asp:TextBox ID="PackNo5" Width="54px" runat="server" Text='<%#Bind("PackNo5")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="C 7">
<ItemTemplate>
<asp:TextBox ID="PackNo6" Width="54px" runat="server" Text='<%#Bind("PackNo6")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="C 8">
<ItemTemplate>
<asp:TextBox ID="PackNo7" Width="54px" runat="server" Text='<%#Bind("PackNo7")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="C 9">
<ItemTemplate>
<asp:TextBox ID="PackNo8" Width="54px" runat="server" Text='<%#Bind("PackNo8")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="C 10">
<ItemTemplate>
<asp:TextBox ID="PackNo9" Width="54px" runat="server" Text='<%#Bind("PackNo9")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
HighlightDuplicate('.Highlight');
});
function HighlightDuplicate(gridView) {
var inputs = $(gridView).find('input');
for (var i = 0; i < inputs.length; i++) {
for (var j = 0; j < inputs.length; j++) {
if (inputs[i] != inputs[j]
&& (inputs[i].value != "" || inputs[j].value != "")
&& inputs[i].value == inputs[j].value) {
inputs[i].style.backgroundColor = "yellow";
inputs[j].style.backgroundColor = "yellow";
inputs[i].parentNode.bgColor = "red";
inputs[j].parentNode.bgColor = "red";
}
}
}
}
</script>
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[11] {
new System.Data.DataColumn("ID"),
new System.Data.DataColumn("PackNo"),
new System.Data.DataColumn("PackNo1"),
new System.Data.DataColumn("PackNo2"),
new System.Data.DataColumn("PackNo3"),
new System.Data.DataColumn("PackNo4"),
new System.Data.DataColumn("PackNo5"),
new System.Data.DataColumn("PackNo6"),
new System.Data.DataColumn("PackNo7"),
new System.Data.DataColumn("PackNo8"),
new System.Data.DataColumn("PackNo9") });
dt.Rows.Add(1, 1, 1, 1, 1, 1, 1, 1, 444, 1, 1);
dt.Rows.Add(2, 555, 555, 1, 1, 1, 666, 1, 888, 1, 1);
dt.Rows.Add(3, 1, 1, 1, 2, 444, 1, 1, 555, 1, 1);
dt.Rows.Add(4, 1, 1, 1, 1, 222, 1, 444, 1, 1, 1);
GridviewN.DataSource = dt;
GridviewN.DataBind();
dt.Clear();
dt.Rows.Add(1, 1, 1, 1, 1, 1, 222, 1, 444, 1, 1);
dt.Rows.Add(2, 555, 555, 1, 1, 1, 777, 1, 1, 1, 1);
dt.Rows.Add(3, 1, 1, 1, 2, 444, 1, 1, 555, 1, 1);
dt.Rows.Add(4, 1, 333, 1, 1, 1, 1, 444, 1, 1, 1);
GridviewC.DataSource = dt;
GridviewC.DataBind();
}
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not Me.IsPostBack Then
Dim dt As Data.DataTable = New Data.DataTable()
dt.Columns.AddRange(New Data.DataColumn(10) {
New Data.DataColumn("ID"),
New Data.DataColumn("PackNo"),
New Data.DataColumn("PackNo1"),
New Data.DataColumn("PackNo2"),
New Data.DataColumn("PackNo3"),
New Data.DataColumn("PackNo4"),
New Data.DataColumn("PackNo5"),
New Data.DataColumn("PackNo6"),
New Data.DataColumn("PackNo7"),
New Data.DataColumn("PackNo8"),
New Data.DataColumn("PackNo9")})
dt.Rows.Add(1, 1, 1, 1, 1, 1, 1, 1, 444, 1, 1)
dt.Rows.Add(2, 555, 555, 1, 1, 1, 666, 1, 888, 1, 1)
dt.Rows.Add(3, 1, 1, 1, 2, 444, 1, 1, 555, 1, 1)
dt.Rows.Add(4, 1, 1, 1, 1, 222, 1, 444, 1, 1, 1)
GridviewN.DataSource = dt
GridviewN.DataBind()
dt.Clear()
dt.Rows.Add(1, 1, 1, 1, 1, 1, 222, 1, 444, 1, 1)
dt.Rows.Add(2, 555, 555, 1, 1, 1, 777, 1, 1, 1, 1)
dt.Rows.Add(3, 1, 1, 1, 2, 444, 1, 1, 555, 1, 1)
dt.Rows.Add(4, 1, 333, 1, 1, 1, 1, 444, 1, 1, 1)
GridviewC.DataSource = dt
GridviewC.DataBind()
End If
End Sub
Screenshot