Hi RumeValid,
Refer below link to validate your fields according to checked checkbox, And refer below sample.
HTML
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
var gridView = $("[id*=grdnok]");
var row = gridView.find("tr").eq(1).clone();
$("[id*=grdnok]").find("[id*=btnAddRow_kin]").click(function () {
var index = $(this).closest("tr")[0].rowIndex - 2;
if (index == 0) {
addRows(gridView, row);
}
else {
var tr = gridView.find("tr");
var currentVal = gridView.find("tr:last").prev().find("#txtkinphone").val()
var isvalid = true;
for (var i = 1; i < tr.length - 2; i++) {
var input = $(tr[i]).find('#txtkinphone');
if (currentVal == $(input).val()) {
isvalid = false;
alert("Contact Number Should be Unique.");
break;
}
}
if (isvalid) {
addRows(gridView, row);
}
}
return false;
});
});
function addRows(gridView, row) {
var preindex = $(this).parent().parent().prev().find("td").eq(0).html();
$("<tr>" + row.html() + "</tr>").insertBefore(gridView.find("tr:last"));
$(this).parent().parent().prev().find("td").eq(0).html((parseInt(preindex) + 1))
}
</script>
<div>
<asp:GridView ID="grdnok" ClientIDMode="Static" runat="server" AutoGenerateColumns="False"
EmptyDataText="No Records" ShowFooter="True" Style="clear: both;">
<Columns>
<asp:TemplateField HeaderText="S/n" ItemStyle-Width="10px">
<ItemTemplate>
<span id="indxid" class="indxno">
<%# Container.DataItemIndex+ 1 %></span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name*" ItemStyle-Width="150px">
<ItemTemplate>
<asp:TextBox ID="txtkinname" Width="150" runat="server" Text='<%# Eval("kinname") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Address" ItemStyle-Width="250px">
<ItemTemplate>
<asp:TextBox ID="txtkinaddr" runat="server" Width="250" Text='<%# Eval("kinaddr") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Phone" ItemStyle-Width="150px">
<ItemTemplate>
<asp:TextBox ID="txtkinphone" Width="150" runat="server" Text='<%# Eval("kinphone") %>' />
</ItemTemplate>
<FooterStyle HorizontalAlign="Right" />
<FooterTemplate>
<asp:Button ID="btnAddRow_kin" runat="server" Text="Add New Row" />
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
Namespaces
C#
using System.Data;
VB.Net
Imports System.Data
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { new DataColumn("kinname", typeof(string)),
new DataColumn("kinaddr", typeof(string)),
new DataColumn("kinphone", typeof(int))});
dt.Rows.Add();
this.grdnok.DataSource = dt;
this.grdnok.DataBind();
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Dim dt As DataTable = New DataTable()
dt.Columns.AddRange(New DataColumn() {New DataColumn("kinname", GetType(String)), New DataColumn("kinaddr", GetType(String)), New DataColumn("kinphone", GetType(Integer))})
dt.Rows.Add()
Me.grdnok.DataSource = dt
Me.grdnok.DataBind()
End Sub
Screenshot
