Click here to Skip to main content
15,897,518 members
Please Sign up or sign in to vote.
4.33/5 (3 votes)
See more:
hi everybody

In my project ,I am required to make a validating work:

I have a repeater (.net 2.0,C#,VS 2k5),In this repeater
there are a column of Textbox,
a column of Button that using to editing value of textbox,
and a column of Checkbox that using to assign for selecting row
Outsite Repeater a have a Button ,when I click this one,all of row selected by checkbox will update in database
I must do how to selected Rows will not update and raise a validate at Rows that contain blank textbox, focus to which blank textbox
Please help me .Thank very much

My ASP:
<asp:Repeater ID="rptOrder" runat="server" OnItemCommand="Action" OnItemDataBound="rptOrder_ItemDataBound">
            <itemtemplate>
                <tr class="DataRowStyle CursorHand smaller" title="Upload on : [<%#Eval("uploaddate","{0:MM/dd/yyyy}")%>] - Process On:[<%#Eval("RecordDate","{0:MM/dd/yyyy}")%>] - Upload by:[<%#Eval("uploader")%>]- Process by: [<%#Eval("processer")%>]- Undoprocess by: [<%#Eval("processerUndo")%>]-FOC Qty:[<%#Eval("TotalQty")%>]; ">
                    <td align="left">
                        <asp:ImageButton ID="ImageButton1" runat="server" CommandArgument='<%#Eval("OrderID")%>'
                            CommandName="detail" SkinID="View" OnCommand="OnViewOrderDetail" OnDataBinding="btnEdit_DataBinding" />
                        <asp:Label ID="lbOrderId" runat="server" Text='<%#Eval("OrderID")%>' Visible="false">
                    </td>
                    <td align="left" önclick="<%#GetPostBackScript()%>">
                        <%# Eval("SupplierName")%>
                    </td>
                    <td align="left" önclick="<%#GetPostBackScript()%>">
                        <%#Eval("program")%>
                    </td>
                    <td align="left" önclick="<%#GetPostBackScript()%>">
                        <%#Eval("CustCode")%>
                    </td>
                    <td align="left" önclick="<%#GetPostBackScript()%>">
                        <%# Eval("CustName") %>
                    </td>
                    <td align="left" önclick="<%#GetPostBackScript()%>">
                        <%# Eval("Address") %>
                    </td>
                    <td align="right" önclick="<%#GetPostBackScript()%>">
                        <%# Eval("District") %>
                    </td>
                    <td align="right" önclick="<%#GetPostBackScript()%>">
                        <%#Eval("Amount","{0:#,###}")%>
                    </td>
                    <td align="right">
                        <asp:TextBox ID="txtsno" Visible="false" runat="server" Text='<%#Eval("SONo")%>'
                            Width="98%">
                        <asp:Literal ID="ltsno" runat="server" Text='<%#Eval("SONo")%>'>
                        <asp:Literal ID="ltvalidate" runat="server" Text='invalid' Visible="false">
                    </td>
                    <td align="right" önclick="<%#GetPostBackScript()%>">
                        <%# Eval("FOCValue","{0:#,###}")%>
                    </td>
                    <td align="right" önclick="<%#GetPostBackScript()%>">
                        <%# Eval("Status")%>
                    </td>
                    <td align="right">
                        <%--style="visibility:<%#Eval("sttchk")%>;--%>
                        <asp:CheckBox ID="chkCheck" runat="server" />
                    </td>
                    <td align="right">
                        <asp:Button ID="btnEdit" runat="server" Text="Edit" CommandArgument="argUpdate" CommandName="Action" />
                        <asp:Button ID="btnCancel" runat="server" Text="Cancel" CommandArgument="argCancel"
                            Visible="false" CommandName="Action" />
                    </td>
                </tr>
            </itemtemplate>


My button:
<asp:LinkButton ID="lnkProcess" runat="server" OnClick="lnkProcess_Click" Font-Bold="True" CommandName ="Action" CommandArgument ="p">PROCESS

MyCode Behind:

protected void lnkProcess_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < rptOrder.Items.Count; i++)
            {
                 RepeaterItem items = rptOrder.Items[i];
                if (((CheckBox)items.FindControl("chkcheck")).Checked)
                {
                    string oid = ((Label)items.FindControl("lbOrderId")).Text;
                    if (((TextBox)items.FindControl("txtsno")).Text != "")
                    {
                        BlueOcean.Data.BonusPayment.BPClass.BPOrderProcess(oid);
                    }
                    else
                    {
//I must do how to validate ........................help me
                    }
                }
            }
            LoadData();
        }
Posted

1 solution

you may code like this in ELSE-part.
TextBox T = (((TextBox)items.FindControl("txtsno"))
T.Focus();
Page.RegisterStartupScript("Errorlog", "<script>alert(\"Text Value is Missing\");</script>");
// you may also use following to make it easily visible.
T.BorderColor = System.Drawing.Color.Red;
return;



For the THEN-part
keep the id values in a array.
ArrayList ids = new ArraList();
ids.Add(oid);
.
.
.

Loop through the Arraylist and process before call to function.
LoadData();
 
Share this answer
 
Comments
Nguyennamhsm 16-Feb-11 21:56pm    
_Ashish275 ,I don't know what to say ,"I very very thank you " for this help from you
_Ashish 17-Feb-11 7:58am    
its all welcome. keep coding & sharing
Member 4765679 20-Nov-14 4:59am    
Thanks Buddy Your Solution show me a path

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900