Validate Textboxes(inside item template) into Mutiple Gridview inside a Repeter usinf Javascript

Rate It (1)

Last post 01-07-2009 5:07 AM by suhaib.faizy. 4 replies.

Sort Posts:

  • Validate Textboxes(inside item template) into Mutiple Gridview inside a Repeter usinf Javascript

    01-02-2009, 7:28 AM
    • Member
      6 point Member
    • suhaib.faizy
    • Member since 08-17-2008, 4:50 AM
    • Delhi
    • Posts 16

     hi all,

     

    i have a repeter inside which I'm binding multiple gridview  into item template. every gridview have multiple textbox in its item template. i want to validate these textboxes using javascript. i tried asp.net validation control but the records are in thousands then its not working properly and page is not responding....

    this is the code

     

                <asp:Repeater ID="rpImportDataList" runat="server" OnItemDataBound="rpImportDataList_ItemDataBound">
                        <ItemTemplate>
                            <b>
                            <asp:Label ID="lblSheetName" Text='<%# Eval("SheetName") %>' runat="server"></asp:Label>
                            </b>
                            <asp:GridView ID="gvSheet" AutoGenerateColumns="false" runat="server" BackColor="White" BorderColor="White"
                                BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" GridLines="None" OnRowDataBound="gvSheet_RowDataBound" OnPreRender="gvSheet_PreRender">
                                <Columns>

                                    <asp:TemplateField SortExpression="Agent Id" HeaderText="Agent Id">
                                    <ItemTemplate>
                                        <asp:TextBox Runat="server" Text='<%# Eval("Agent ID") %>' ID="InternalAgentIdTextBox" Width="100"></asp:TextBox>
                                        <%--<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="InternalAgentIdTextBox" ValidationGroup="AddToDatabase" runat="server" ErrorMessage="*" Display="Dynamic"></asp:RequiredFieldValidator>--%>
                                    </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField SortExpression="InternalID" HeaderText="Internal Id">
                                        <ItemTemplate>
                                            <asp:TextBox Runat="server" Text='<%# Eval("internalID") %>' ID="InternalIdTextBox" Width="100"></asp:TextBox>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField SortExpression="Booking Date" HeaderText="Booking Date">
                                        <ItemTemplate>
                                            <asp:TextBox Runat="server" Text='<%# FormatDate((object)Eval("Booking Date")) %>' ID="BookingDateTextBox" Width="70"></asp:TextBox>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField SortExpression="Check-in" HeaderText="Check-in Date">
                                        <ItemTemplate>
                                            <asp:TextBox Runat="server" Text='<%# FormatDate((object)Eval("Check-in")) %>' ID="CheckInDateTextBox" Width="70"></asp:TextBox>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField SortExpression="Check-out" HeaderText="Check-out Date">
                                        <ItemTemplate>
                                            <asp:TextBox Runat="server" Text='<%# FormatDate((object)Eval("Check-out")) %>' ID="CheckOutDateTextBox" Width="70"></asp:TextBox>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField SortExpression="No of Guests" HeaderText="No of Guests">
                                        <ItemTemplate>
                                                <asp:TextBox Runat="server" Text='<%# Eval("No of Guests") %>' ID="TotalGuestsTextBox" Width="50"></asp:TextBox>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField SortExpression="No of Rooms" HeaderText="No of Rooms">
                                        <ItemTemplate>
                                                <asp:TextBox Runat="server" Text='<%# Eval("No of Rooms") %>' ID="TotalRoomsTextBox" Width="50"></asp:TextBox>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField SortExpression="Room Type" HeaderText="Room Type">
                                        <ItemTemplate>
                                            <asp:TextBox Runat="server" Text='<%# Eval("Room Type") %>' ID="RoomTypeTextBox" Width="100"></asp:TextBox>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField SortExpression="Total(INR)" HeaderText="Total">
                                        <ItemTemplate>
                                            <div style="width:65px;">
                                                <asp:TextBox Runat="server" Text='<%# Eval("Total") %>' ID="TotalTextBox" Width="50"></asp:TextBox>
                                            </div>   
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField SortExpression="Guest Name" HeaderText="Guest Name">
                                        <ItemTemplate>
                                            <asp:TextBox Runat="server" Text='<%# Eval("Guest Name") %>' ID="GuestNameTextBox" Width="100"></asp:TextBox>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField SortExpression="Tax" HeaderText="Tax" Visible="false">
                                        <ItemTemplate>
                                            <asp:TextBox Runat="server" ID="TaxTextBox" OnDataBinding="tb1_DataBinding" Width="50"></asp:TextBox>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                </Columns>
                                <FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
                                <RowStyle Font-Size="XX-Small" />
                                <RowStyle BackColor="#DEDFDE" ForeColor="Black" />
                                <PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
                                <SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
                                <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
                            </asp:GridView>
                            <br />
                        </ItemTemplate>
                    </asp:Repeater>

             rpImportDataList.DataSource = dt1;
            rpImportDataList.DataBind();

    protected void rpImportDataList_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                GridView gvSheet = (GridView)e.Item.FindControl("gvSheet");
                DataSet ds = new DataSet();
                ds = this.GetSetDataSet;
                try
                {
                    decimal tax = decimal.Parse(ds.Tables[e.Item.ItemIndex].Rows[0]["Tax"].ToString());
                    int totalCol = gvSheet.Columns.Count;
                    gvSheet.Columns[totalCol - 1].Visible = true;
                }
                catch
                {
                    int totalCol = gvSheet.Columns.Count;
                    gvSheet.Columns[totalCol - 1].Visible = false;
                }
                if (ds.Tables[e.Item.ItemIndex].Rows.Count > 0)
                {
                    gvSheet.DataSource = ds.Tables[e.Item.ItemIndex];
                    gvSheet.DataBind();
                }
            }
        }

     

  • Re: Validate Textboxes(inside item template) into Mutiple Gridview inside a Repeter usinf Javascript

    01-02-2009, 6:24 PM

    Another way would be to do your validation in the Repeater_ItemCommand() event like so...


        Protected Sub Repeater1_ItemCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles Repeater1.ItemCommand
            Dim ctl As TextBox
            If e.CommandName = "mycommand" Then
                ctl = e.Item.FindControl("textbox1")
                If ctl IsNot Nothing Then
                    If ctl.Text = "" Then
                        Response.Write("Please enter a value for Textbox1.")
                        Exit Sub
                    End If
                End If
                ' next control
                ctl = e.Item.FindControl("textbox2")
                If ctl IsNot Nothing Then
                    If ctl.Text = "" Then
                        Response.Write("Please enter a value for Textbox2.")
                        Exit Sub
                    End If
                End If

            End If

        End Sub
     

    Good luck.

  • Re: Validate Textboxes(inside item template) into Mutiple Gridview inside a Repeter usinf Javascript

    01-03-2009, 5:05 AM
    • Member
      6 point Member
    • suhaib.faizy
    • Member since 08-17-2008, 4:50 AM
    • Delhi
    • Posts 16

     but i want to do it by javascipt on client side

  • Re: Validate Textboxes(inside item template) into Mutiple Gridview inside a Repeter usinf Javascript

    01-04-2009, 11:59 AM
    Answer
    • Member
      216 point Member
    • shyam14111986
    • Member since 08-26-2008, 12:48 PM
    • Banglore
    • Posts 40

    Hi Suhaib,

    Happy New Year. You can use something similar to the javascript function shown below. This javascript function can be added to the "Submit" button's OnClientClick event.

     

    function fnValidateTextboxesInRepeater(strRepeaterID)
    {
        var tblRepeater = document.createElement("TABLE");
        tblRepeater = document.getElementById(strRepeaterID);
        var arrInputs = tblRepeater.getElementsByTagName("INPUT");
        for (var i = 0; i < arrInputs.length; i++) 
        {
            if(arrInputs[i].type == "text")
            {
                //Your validation can be performed on arrInputs[i].value. Set a boolean variable based on success or failure of this validation. Here HasValidationFailed is the boolean variable used.
                if(HasValidationFailed)
                {
                     alert("The customized message you want to show.");
                     return false;
                }
            }
        }
        return true;
    }
     
      

    Remember that if you are using master pages, you need to pass the client ID of the repeater into this function. This is purely done on the client side. The submit button will post back to server only when validation succeeds.

    Please let me know if you face any issues.

    Please mark the post as answer if it helped you.

    Shyam Sundar Vasudevan
    Developer
  • Re: Validate Textboxes(inside item template) into Mutiple Gridview inside a Repeter usinf Javascript

    01-07-2009, 5:07 AM
    • Member
      6 point Member
    • suhaib.faizy
    • Member since 08-17-2008, 4:50 AM
    • Delhi
    • Posts 16

     hi shyam

     thanks alot for your help..i have to do some changes and is working fine

     

     

Page 1 of 1 (5 items)