This is a migrated thread and some comments may be shown as answers.

[Solved] From Time To Time Validation

0 Answers 157 Views
Calendar
This is a migrated thread and some comments may be shown as answers.
sreedhar ambati
Top achievements
Rank 1
sreedhar ambati asked on 14 Aug 2009, 11:25 AM

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>

 

 

</head>
<body>
    <form id="form1" runat="server">
        <div>
            <rad:RadGrid ID="gvWorkingHours_New" runat="server" Skin="SkeltaGrid" AutoGenerateColumns="false"
            OnItemDataBound = "gvWorkingHours_New_OnItemDataBound">
                <MasterTableView>
                    <Columns>
                     <rad:GridTemplateColumn>
                            <ItemTemplate>
                                <asp:TextBox runat="server" ID="txtSlotName"
                                CssClass="inputsNoExpression"  Text='<%# Eval("SlotName") %>'></asp:TextBox>
                           
                            </ItemTemplate>
                        </rad:GridTemplateColumn>
                        <rad:GridTemplateColumn>
                            <ItemTemplate>
                                <radCln:RadTimePicker ID="rtpFromTime" Width="31%" runat="server" TabIndex="2"
                                    EnableTyping="true" TimeView-TimeFormat="HH:mm" DateInput-DateFormat="HH:mm"
                                    DateInput-DisplayDateFormat="HH:mm" DateInput-EmptyMessage="From Time"
                                    DBSelectedDate='<%# Eval("FromTime") %>'>
                                    <TimeView ID="tvFrom" runat="server" ShowHeader="False" Interval="00:30" Columns="3"                                                                    >
                                    </TimeView>
                                </radCln:RadTimePicker>
                            </ItemTemplate>
                        </rad:GridTemplateColumn>
                        <rad:GridTemplateColumn>
                            <ItemTemplate>
                                <radCln:RadTimePicker ID="rtpToTime" Width="31%" runat="server" TabIndex="2"
                                    EnableTyping="true" TimeView-TimeFormat="HH:mm" DateInput-DateFormat="HH:mm"
                                    DateInput-DisplayDateFormat="HH:mm" DateInput-EmptyMessage="To Time"
                                     DBSelectedDate='<%# Eval("ToTime") %>'>
                                    <TimeView ID="tvTo" runat="server" ShowHeader="False" Interval="00:30" Columns="3"
                                     >
                                    </TimeView>
                                </radCln:RadTimePicker>
                            </ItemTemplate>
                        </rad:GridTemplateColumn>
                    </Columns>
                </MasterTableView>
            </rad:RadGrid>
             <asp:LinkButton ID="LinkButton1" runat="server" OnClick="lnkbtnAddSlot_New_Click" Width="97px"
              CssClass="sf-inputsLinkButton" OnClientClick="return AddSlot_New()">Add Slot_New</asp:LinkButton>
        </div>
    </form>
</body>
</html>

 

code behind
----------

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SetInitialRowForSlots_New();
        }
    }
    private void SetInitialRowForSlots_New()
    {
        DataTable dtSlots = new DataTable();
        dtSlots.Columns.Add(new DataColumn("SlotName", typeof(string)));
        dtSlots.Columns.Add(new DataColumn("FromTime", typeof(string)));
        dtSlots.Columns.Add(new DataColumn("ToTime", typeof(string)));

        DataRow drSlot = dtSlots.NewRow();
        drSlot["SlotName"] = string.Empty;
        drSlot["FromTime"] = new TimeSpan(0, 0, 0);
        drSlot["ToTime"] = new TimeSpan(0, 0, 0);
        dtSlots.Rows.Add(drSlot);

        gvWorkingHours_New.DataSource = dtSlots;
        gvWorkingHours_New.DataBind();
    }

    protected void lnkbtnAddSlot_New_Click(object sender, EventArgs e)
    {
        DataTable dtSlots = new DataTable();
        dtSlots.Columns.Add(new DataColumn("SlotName", typeof(string)));
        dtSlots.Columns.Add(new DataColumn("FromTime", typeof(string)));
        dtSlots.Columns.Add(new DataColumn("ToTime", typeof(string)));

        foreach (GridDataItem pkgItem in gvWorkingHours_New.MasterTableView.Items)
        {           
            TextBox SlotName = pkgItem.FindControl("txtSlotName") as TextBox;
            RadTimePicker FrTime = pkgItem.FindControl("rtpFromTime") as RadTimePicker;
            RadTimePicker ToTime = pkgItem.FindControl("rtpToTime") as RadTimePicker;

            DataRow dr = dtSlots.NewRow();
            dr["SlotName"] = SlotName.Text;
            dr["FromTime"] = new TimeSpan(((DateTime)(FrTime.DbSelectedDate)).TimeOfDay.Hours, ((DateTime)(FrTime.DbSelectedDate)).TimeOfDay.Minutes, 0);
            dr["ToTime"] = new TimeSpan(((DateTime)(ToTime.DbSelectedDate)).TimeOfDay.Hours, ((DateTime)(ToTime.DbSelectedDate)).TimeOfDay.Minutes, 0);

            dtSlots.Rows.Add(dr);
        }
        DataRow drEmpty = dtSlots.NewRow();
        drEmpty["SlotName"] = string.Empty;
        drEmpty["FromTime"] = new TimeSpan(0, 0, 0);
        drEmpty["ToTime"] = new TimeSpan(0, 0, 0);

        dtSlots.Rows.Add(drEmpty);
        gvWorkingHours_New.DataSource = dtSlots;
        gvWorkingHours_New.DataBind();
    }

    protected void  gvWorkingHours_New_OnItemDataBound(object sender, GridItemEventArgs e)
    {
      

        if (e.Item.ItemType  == GridItemType.Item)
        {
            DataRowView dr = (DataRowView)e.Item.DataItem;
            if (dr != null)
            {
              
                RadTimePicker rtpFrom = (RadTimePicker)e.Item.FindControl("rtpFromTime");
              
                //((RadTimePicker)e.Item.FindControl("rtpFrom")).Attributes.Add("OnClientTimeSelected", "javascript:return sree(" + tvFrom.ClientID + ")");

               
             

           
            }
        }

    }





Hi

I placed two radtimepickers (fromtime and totime) inside a radgrid and want to validate in javascript (FromTime should be less than ToTime. I want to show this message in an alert whenever user gives invalid time)
How to achieve this?
I tried attaching onclienttimeselected in onitemdatabound but it is not firing
Please help me

Regards
Sreedhar Ambati

No answers yet. Maybe you can help?

Tags
Calendar
Asked by
sreedhar ambati
Top achievements
Rank 1
Share this question
or