<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