Greetings again gurus,
I have a very challenging and complicated request and I wanted to know if this is doable.
I have Gridview and Repeater. The great Indresh and dharmendr have been very kind in helping me out on this project.
I have attached two picture screenshots to help illustrate the issue.
First picture is called Gridview. The second picture is called Repeater.
User enters just ONE registration number, clicks the NEXT button and is taken to the next page.
This page has Repeater controls.
One of our requirements is that when the user goes to Next page, there is another box to enter the same registration number.
So, instead of typing the registration number again, the number enter on Gridview page, N12345 for our example should automatically populate the box in Repeater.
dharmendr has already gotten me going on this.
Second, since it is just one registration number, the NEXT Vehicle Remove Row buttons should be hidden.
If however, there are more than one registration number, then the Next Vehicle/Remove Row buttons should become visible.
A user can enter as many as 5 registration numbers.
Please see screenshot.
Is this possible?
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.0.0.js"></script>
<script type="text/javascript" src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
<script type="text/javascript">
$(function () {
$('[id*=txtboatregNum]').change(function () {
var value = $(this).val();
index = $(this).closest('tr').index();
var tr = $('[id*=repeaterTable]').find('tr')[index - 1];
$(tr).find("[id*=txtARegNo]").val(value);
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<table border="1" style="width:90%;text-align:center;margin-left:-30px;">
<tr>
<td style="vertical-align: text-top;">
<asp:GridView ID="Gridview1" Style="table-layout: fixed;" runat="server" ShowFooter="true"
AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="ID" HeaderText="Row No" />
<asp:TemplateField HeaderText="Aircraft Registration #:">
<HeaderStyle HorizontalAlign="Left" />
<ItemTemplate>
<asp:TextBox ID="txtboatregNum" runat="server" class="form-control"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Value As of Jan This Year">
<ItemStyle HorizontalAlign="Left"></ItemStyle>
<ItemTemplate>
<asp:TextBox ID="txttaxpayerret" runat="server" Style="width: 500px;" class="form-control txttaxpayerret taxInput"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<HeaderStyle Width="70" />
<ItemStyle Width="70" />
<ItemTemplate>
<asp:Button ID="BtnAdd" runat="server" Text="Add" OnClick="BtnAdd_Click" CssClass="btnclass" />
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True">
<ControlStyle CssClass="grvDelButton" />
</asp:CommandField>
</Columns>
</asp:GridView>
</td>
</tr>
</table>
<table border="1" style="width:100%;text-align:center">
<tr>
<td style="width:24.2%;">TOTAL<span style="margin-left:200px;color:#000000;font-weight:bold;">></span></td>
<td style="width:23%;">
$<asp:Label ID="lblTotal" runat="server"></asp:Label>
<asp:HiddenField ID="hfvalue" runat="server" />
</td>
<td style="width:62.8%;"></td>
</tr>
</table>
</asp:view>
<asp:View ID="view2" runat="server">
<table style="width:100%;border: 1px solid black;">
<tr>
<td style="width:33.3%;border-collapse: collapse;white-space:nowrap;">
<asp:Repeater ID="Repeater2" runat="server" OnItemDataBound="repeater_ItemDataBound">
<HeaderTemplate>
<table id="repeaterTable" style="border: 1px solid black;">
</HeaderTemplate>
<ItemTemplate>
<table style="width:100%;border: 1px solid black;">
<tr>
<td style="width:33.3%;border-collapse: collapse;white-space:nowrap;">
Airport where aircraft primary home based city: <asp:TextBox ID="aircraftCity" style="width:270px;" runat="server"></asp:TextBox></td>
<td style="text-align:center;">
</td>
<td style="width:33.3%;border-collapse: collapse;white-space:nowrap;">
County:<asp:TextBox ID="aircraftcnty" style="width:270px;" runat="server"></asp:TextBox></td>
<td style="text-align:center;">
</td>
<td style="width:33.3%;border-collapse: collapse;white-space:nowrap;">
<div class="input select">State: <asp:DropDownList ID="aircraftstate" runat="server" style="width:150px;" AppendDataBoundItems="True">
<asp:ListItem Value="" Selected="True"></asp:ListItem>
</asp:DropDownList> </div></td>
<td style="text-align:center;">
</td>
</tr>
</table>
<table style="width:100%;border: 1px solid black;">
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;white-space:nowrap;">
Registration "N" #:<asp:TextBox ID="aRegNo" style="width:270px;margin-left:195px;" runat="server"></asp:TextBox></td>
<td style="text-align:center;border: 1px solid black;">AVIONICS AND EXTRA EQUIPMENT
</td>
</tr>
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;white-space:nowrap;">
MFG. Name: (make):<asp:TextBox ID="aMake" style="width:270px;margin-left:175px;" runat="server"></asp:TextBox></td>
<td style="width:50%;text-align:center;border: 1px solid black;" rowspan="10">
<asp:TextBox ID="txtavionics" runat="server" TextMode="MultiLine" Style="width: 100%;height:700px;" class="form-control"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;white-space:nowrap;">
Model Name OR #::<asp:TextBox ID="aModelNo" style="width:270px;margin-left:184px;" runat="server"></asp:TextBox></td>
<td style="width:50%;text-align:center;border: 0px solid black;">
</td>
</tr>
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;white-space:nowrap;">
Year Built:<asp:TextBox ID="aYRBuilt" style="width:270px;margin-left:252px;" runat="server"></asp:TextBox></td>
<td style="width:50%;text-align:center;border: 0px solid black;">
</td>
</tr>
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;white-space:nowrap;">
Serial Number:<asp:TextBox ID="aSN" style="width:270px;margin-left:219px;" runat="server"></asp:TextBox></td>
<td style="width:50%;text-align:center;border: 1px solid black;">
</td>
</tr>
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;white-space:nowrap;">
Date Purchased:<asp:TextBox ID="txtdatePurchased" style="width:270px;margin-left:205px;" runat="server"></asp:TextBox></td>
<td style="width:50%;text-align:center;border: 1px solid black;">
</td>
</tr>
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;">
Purchased:<asp:radiobuttonlist ID="rblPurchaseType" runat="server" ValidationGroup ="stype" RepeatDirection="Horizontal" TextAlign="Right" style="display:inline;">
<asp:ListItem Text="New" />
<asp:ListItem Text="Used" />
</asp:RadioButtonList><br />
<asp:RequiredFieldValidator style="color:#ff0000;" id="RequiredFieldValidator1"
ControlToValidate="rblPurchaseType"
ErrorMessage="Please choose New or Used"
ValidationGroup ="stype"
runat="server"/>
</td>
<td style="text-align:center;border: 1px solid black;">
</td>
</tr>
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;white-space:nowrap;">
Cost:<asp:TextBox ID="aircraftCost" style="width:270px;margin-left:287px;" runat="server"></asp:TextBox></td>
<td style="text-align:center;border: 1px solid black;">
</td>
</tr>
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;white-space:nowrap;">
Hours Between Overhauls(TBO):<asp:TextBox ID="hrsBtwnTBO" style="width:270px;margin-left:90px;" runat="server"></asp:TextBox></td>
<td style="text-align:center;border: 1px solid black;">
</td>
</tr>
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;white-space:nowrap;">
Hours Since Last OVerhaul:<asp:TextBox ID="hrsOverhaul" style="width:270px;margin-left:127px;" runat="server"></asp:TextBox></td>
<td style="text-align:center;border: 1px solid black;">
</td>
</tr>
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;white-space:nowrap;">
Last Overhaul:<asp:RadioButtonList ID="rbllastOverHaul" ValidationGroup ="stype" runat="server" RepeatDirection="Horizontal" TextAlign="Right" style="display:inline;">
<asp:ListItem Text="Major" />
<asp:ListItem Text="Top" />
</asp:RadioButtonList><br />
<asp:RequiredFieldValidator style="color:#ff0000;" id="RequiredFieldValidator2"
ControlToValidate="rbllastOverHaul"
ErrorMessage="Please choose Major or Top"
ValidationGroup ="stype"
runat="server"/>
</td>
<td style="text-align:center;border: 1px solid black;">
</td>
</tr>
<tr>
<td style="width:50%;border-collapse: collapse;border: 1px solid black;white-space:nowrap;">
Total Hours On Airframe As of Jan. 1:<asp:TextBox ID="TotOnAirFrm" style="width:270px;margin-left:58px;" runat="server"></asp:TextBox></td>
<td style="border: 1px solid black;">
NOTE: Please submit a copy of your log book to substantiate T.B.O. and<br />airframe hours.
</td>
</tr>
<tr>
<td colspan="2">
<asp:Button ID="BtnAdd2" style="width:150px;" runat="server" Text="Next Vehicle" OnClick="BtnAdd2_Click" CssClass="btnclass" />
<asp:Button ID="btnDelete" style="width:120px;" runat="server" Text="Remove a row" OnClick="btnDelete_Click" CssClass="btnclass" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</td>
</tr>
</table>
<script type="text/javascript">
function pageLoad() {
totalcalculate();
$('[id*=txttaxpayerret]').keyup(function () {
totalcalculate();
});
}
function totalcalculate() {
var total = 0;
for (var i = 0; i < $('.txttaxpayerret').length; i++) {
var temp = $('.txttaxpayerret')[i].value;
temp != "" ? temp : temp = 0;
total = parseFloat(temp) + parseFloat(total);
$('#lblTotal').html(total);
$('[id*=hfvalue]').val(total);
}
}
</script>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id", typeof(int)),
new DataColumn("Name", typeof(string)),
new DataColumn("Country",typeof(string)) });
dt.Rows.Add(1, "John Hammond", "United States");
dt.Rows.Add(2, "Mudassar Khan", "India");
dt.Rows.Add(3, "Suzanne Mathews", "France");
dt.Rows.Add(4, "Robert Schidner", "Russia");
Gridview1.DataSource = dt;
Gridview1.DataBind();
Repeater2.DataSource = dt;
Repeater2.DataBind();
}
}