or
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
ERMS.Entities;
using
ERMS.Services;
using
System.Data;
using
Telerik.Web.UI;
using
Telerik.Web.UI.Calendar;
using
Telerik.Web.UI.Scheduler;
/// <summary>
/// Summary description for OpenAccessCustomProvider
/// </summary>
public
class
OpenAccessCustomProvider : OpenAccessProviderBase
{
public
OpenAccessCustomProvider()
{
//
// TODO: Add constructor logic here
//
}
public
override
void
Delete(RadScheduler owner, Appointment appointmentToDelete)
{
throw
new
NotImplementedException();
}
#region " Declaration "
Orders objOrders =
new
Orders();
OrdersService objOrdersService =
new
OrdersService();
TList<Orders> objOrdersList =
new
TList<Orders>();
ViewGetSearchOrdersService objOrderView =
new
ViewGetSearchOrdersService();
DataSet dsOrderView =
new
DataSet();
#endregion
#region " Variables "
Int32 _int_cnt = 0;
#endregion
public
override
IEnumerable<Appointment> GetAppointments(RadScheduler owner)
{
List<Appointment> appList =
new
List<Appointment>();
DateTime dtEndDate =
new
DateTime();
DateTime dtStartDate =
new
DateTime();
dsOrderView = objOrderView.GetPaged(
"CompanyIDF = "
+ (
new
clsPageBase()).SESSION_COMPANYID +
""
,
"OrderDate"
, 0,
int
.MaxValue,
out
_int_cnt).ToDataSet(
true
);
if
(dsOrderView !=
null
&& dsOrderView.Tables.Count > 0)
{
for
(
int
i = 0; i < dsOrderView.Tables[0].Rows.Count; i++)
{
if
(!
string
.IsNullOrEmpty(dsOrderView.Tables[0].Rows[i][
"StartDate"
].ToString()))
{
if
(
string
.IsNullOrEmpty(dsOrderView.Tables[0].Rows[i][
"StartTime"
].ToString()) ==
false
)
{
dtStartDate = Convert.ToDateTime(Convert.ToDateTime(dsOrderView.Tables[0].Rows[i][
"StartDate"
]).ToString(
"MM dd yyyy"
) +
" "
+ dsOrderView.Tables[0].Rows[i][
"StartTime"
].ToString());
}
}
if
(!
string
.IsNullOrEmpty(dsOrderView.Tables[0].Rows[i][
"FinishDate"
].ToString()))
{
if
(
string
.IsNullOrEmpty(dsOrderView.Tables[0].Rows[i][
"FinishTime"
].ToString()) ==
false
)
{
dtEndDate = Convert.ToDateTime(Convert.ToDateTime(dsOrderView.Tables[0].Rows[i][
"FinishDate"
]).ToString(
"MM dd yyyy"
) +
" "
+ dsOrderView.Tables[0].Rows[i][
"FinishTime"
].ToString());
}
}
Appointment newApponitment =
new
Appointment();
newApponitment.Owner = owner;
newApponitment.ID = dsOrderView.Tables[0].Rows[i][
"OrderID"
].ToString();
newApponitment.Subject = dsOrderView.Tables[0].Rows[i][
"Title"
].ToString();
newApponitment.Start = dtStartDate;
newApponitment.End = dtEndDate;
Resource newResource =
new
Resource();
newResource.Type =
"OrderStatus"
;
newResource.Key = newApponitment.ID;
newResource.Text = dsOrderView.Tables[0].Rows[i][
"OrderStatus"
].ToString();
newApponitment.Resources.Add(newResource);
appList.Add(newApponitment);
}
}
return
appList;
}
public
override
IEnumerable<ResourceType> GetResourceTypes(RadScheduler owner)
{
ResourceType[] resourceTypes =
new
ResourceType[1];
resourceTypes[0] =
new
ResourceType(
"OrderStatus"
,
false
);
return
resourceTypes;
}
public
override
IEnumerable<Resource> GetResourcesByType(RadScheduler owner,
string
resourceType)
{
List<Resource> OrderResources =
new
List<Resource>();
TList<OrderStatus> objOrderStatusList =
new
TList<OrderStatus>();
foreach
(OrderStatus item
in
(
new
OrderStatusService()).GetAll())
{
Resource newResource =
new
Resource();
newResource.Type =
"OrderStatus"
;
newResource.Key = item.Id;
newResource.Text = item.Status;
OrderResources.Add(newResource);
}
return
OrderResources;
}
public
override
void
Insert(RadScheduler owner, Appointment appointmentToInsert)
{
throw
new
NotImplementedException();
}
public
override
void
Update(RadScheduler owner, Appointment appointmentToUpdate)
{
throw
new
NotImplementedException();
}
}
<
telerik:RadScheduler
runat
=
"server"
ID
=
"RadScheduler1"
Skin
=
"Default"
ShowFooter
=
"true"
OverflowBehavior
=
"Scroll"
SelectedView
=
"MonthView"
Height
=
"100%"
NumberOfHoveredRows
=
"1"
DataKeyField
=
"ID"
DataSubjectField
=
"Subject"
DataStartField
=
"Start"
DataEndField
=
"End"
TimelineView-UserSelectable
=
"false"
Culture
=
"(Default)"
StartInFullTime
=
"true"
AllowDelete
=
"false"
AllowEdit
=
"false"
AllowInsert
=
"false"
ShowViewTabs
=
"true"
OnAppointmentDataBound
=
"RadScheduler1_AppointmentDataBound"
ProviderName
=
"OpenAccessProvider"
OnAppointmentCreated
=
"RadScheduler1_AppointmentCreated"
>
<
Localization
AdvancedAllDayEvent
=
"All day"
/>
<
AdvancedForm
DateFormat
=
"M/d/yyyy"
TimeFormat
=
"h:mm tt"
/>
<
AppointmentTemplate
>
<
asp:LinkButton
ID
=
"lnkSubject"
runat
=
"server"
></
asp:LinkButton
>
</
AppointmentTemplate
>
</
telerik:RadScheduler
>
protected
void
RadScheduler1_AppointmentCreated(
object
sender, AppointmentCreatedEventArgs e)
{
Label lblRed = (Label)e.Container.FindControl(
"lblRed"
);
LinkButton lnkSubject = (LinkButton)e.Container.FindControl(
"lnkSubject"
);
lnkSubject.Text = clsGeneral.ShowSingleQuote(e.Appointment.Subject);
//lnkSubject.Attributes.Add("onClick", "return DoFilter('" + e.Appointment.ID.ToString() + "','" + e.Appointment.Resources.GetResourceByType("OrderStatus").Text + "');");
lnkSubject.Attributes.Add(
"onclick"
,
"return DisplayEventInformation("
+ e.Appointment.ID.ToString() +
" );"
);
lnkSubject.Attributes.Add(
"onmouseover"
,
"javascript:ddrivetip('<b>Click here to manage this Event</b>',250);"
);
lnkSubject.Attributes.Add(
"onmouseout"
,
"javascript:hideddrivetip();"
);
e.Appointment.ToolTip =
""
;
lblRed.Text = e.Appointment.Resources.GetResourceByType(
"OrderStatus"
).Text;
}
protected
void
RadScheduler1_AppointmentDataBound(
object
source, SchedulerEventArgs e)
{
Int64 OrderID = 0;
OrderID = Convert.ToInt64(e.Appointment.ID);
objOrders = objOrdersService.GetById(OrderID);
DateTime dtOrder = Convert.ToDateTime(objOrders.OrderDate);
DateTime dtStartOn = Convert.ToDateTime(e.Appointment.Start);
DateTime dtToday = DateTime.Now;
Int64 days = 0;
Int64 days1 = 0;
days = clsGeneral.DateDiff(clsGeneral.DateInterval.Hour, dtToday, dtStartOn);
days = days / 24;
days1 = clsGeneral.DateDiff(clsGeneral.DateInterval.Hour, dtOrder, dtStartOn);
days1 = days1 / 24;
//For the Highest Priority Order,Consider Today Date and StartUp Date
//For the Rush Order,Consider the Order Date to Start Date Difference
if
(days1 <= 5)
{
e.Appointment.CssClass =
"rsCategoryBlue"
;
}
else
{
if
(days <= 5)
{
e.Appointment.CssClass =
"rsCategoryRed"
;
}
else
if
(days > 5)
{
e.Appointment.CssClass =
"rsCategoryYellow"
;
}
}
}
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AutoGenerateColumns
=
"False"
Skin
=
"Telerik"
AllowAutomaticDeletes
=
"True"
DataSourceID
=
"SqlDataSourceQuoteItems"
GridLines
=
"None"
AllowAutomaticInserts
=
"True"
OnItemDeleted
=
"RadGrid1_ItemDeleted"
OnItemInserted
=
"RadGrid1_ItemInserted"
>
<
MasterTableView
DataSourceID
=
"SqlDataSourceQuoteItems"
CommandItemDisplay
=
"TopAndBottom"
AutoGenerateColumns
=
"False"
DataKeyNames
=
"id"
>
<
RowIndicatorColumn
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
UniqueName
=
"EditCommandColumn"
>
<
ItemStyle
CssClass
=
"MyImageButton"
/>
</
telerik:GridEditCommandColumn
>
<
telerik:GridBoundColumn
DataField
=
"id"
DataType
=
"System.Int32"
HeaderText
=
"id"
ReadOnly
=
"True"
SortExpression
=
"id"
UniqueName
=
"id"
Visible
=
"False"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"QuoteNo"
HeaderText
=
"QuoteNo"
SortExpression
=
"QuoteNo"
UniqueName
=
"QuoteNo"
Visible
=
"False"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Room"
HeaderText
=
"Room"
SortExpression
=
"Room"
UniqueName
=
"Room"
ColumnEditorID
=
"GridTextBoxRoom"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Elevation"
HeaderText
=
"Elevation"
SortExpression
=
"Elevation"
UniqueName
=
"Elevation"
ColumnEditorID
=
"GridTextBoxElevation"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"PartNo"
HeaderText
=
"PartNo"
SortExpression
=
"PartNo"
UniqueName
=
"PartNo"
ColumnEditorID
=
"GridTextBoxPartNo"
ReadOnly
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Qty"
DataType
=
"System.Double"
HeaderText
=
"Qty"
SortExpression
=
"Qty"
UniqueName
=
"Qty"
ColumnEditorID
=
"GridNumericQty"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ListPrice"
DataType
=
"System.Double"
HeaderText
=
"Price"
SortExpression
=
"ListPrice"
UniqueName
=
"ListPrice"
ColumnEditorID
=
"GridTextBoxListPrice"
ReadOnly
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"TotalPrice"
DataType
=
"System.Double"
HeaderText
=
"Total Price"
SortExpression
=
"TotalPrice"
UniqueName
=
"TotalPrice"
ColumnEditorID
=
"GridTextBoxTotalPrice"
ReadOnly
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"EachWeight"
DataType
=
"System.Double"
HeaderText
=
"Weight"
SortExpression
=
"EachWeight"
UniqueName
=
"EachWeight"
ColumnEditorID
=
"GridTextBoxEachWeight"
ReadOnly
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"TotalWeight"
DataType
=
"System.Double"
HeaderText
=
"Total Weight"
SortExpression
=
"TotalWeight"
UniqueName
=
"TotalWeight"
ColumnEditorID
=
"GridTextBoxTotalWeight"
ReadOnly
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"EachCubes"
DataType
=
"System.Double"
HeaderText
=
"Cubes"
SortExpression
=
"EachCubes"
UniqueName
=
"EachCubes"
ColumnEditorID
=
"GridTextBoxEachCubes"
ReadOnly
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"TotalCubes"
DataType
=
"System.Double"
HeaderText
=
"Total Cubes"
SortExpression
=
"TotalCubes"
UniqueName
=
"TotalCubes"
ColumnEditorID
=
"GridTextBoxTotalCubes"
ReadOnly
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridButtonColumn
ConfirmText
=
"Delete this product?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Delete"
ButtonType
=
"ImageButton"
CommandName
=
"Delete"
Text
=
"Delete"
UniqueName
=
"DeleteColumn"
>
<
ItemStyle
HorizontalAlign
=
"Center"
CssClass
=
"MyImageButton"
/>
</
telerik:GridButtonColumn
>
</
Columns
>
<
EditFormSettings
ColumnNumber
=
"7"
CaptionDataField
=
"PartNo"
CaptionFormatString
=
"Edit properties of Product {0}"
>
<
FormTableItemStyle
Wrap
=
"False"
></
FormTableItemStyle
>
<
FormCaptionStyle
CssClass
=
"EditFormHeader"
></
FormCaptionStyle
>
<
FormMainTableStyle
GridLines
=
"None"
CellSpacing
=
"0"
CellPadding
=
"3"
BackColor
=
"White"
Width
=
"100%"
/>
<
FormTableStyle
CellSpacing
=
"0"
CellPadding
=
"2"
Height
=
"110px"
BackColor
=
"White"
/>
<
FormTableAlternatingItemStyle
Wrap
=
"False"
></
FormTableAlternatingItemStyle
>
<
EditColumn
ButtonType
=
"ImageButton"
InsertText
=
"Insert Product"
UpdateText
=
"Update record"
UniqueName
=
"EditCommandColumn1"
CancelText
=
"Cancel edit"
>
</
EditColumn
>
<
FormTableButtonRowStyle
HorizontalAlign
=
"Right"
CssClass
=
"EditFormButtonRow"
></
FormTableButtonRowStyle
>
</
EditFormSettings
>
</
MasterTableView
>
<
ClientSettings
>
<
ClientEvents
OnRowDblClick
=
"RowDblClick"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
<
telerik:GridTextBoxColumnEditor
ID
=
"GridTextBoxRoom"
runat
=
"server"
TextBoxStyle-Width
=
"25px"
/>
<
telerik:GridTextBoxColumnEditor
ID
=
"GridTextBoxElevation"
runat
=
"server"
TextBoxStyle-width
=
"25px"
/>
<
telerik:GridTextBoxColumnEditor
ID
=
"GridTextBoxPartNo"
runat
=
"server"
TextBoxStyle-width
=
"90px"
/>
<
telerik:GridTextBoxColumnEditor
ID
=
"GridTextBoxListPrice"
runat
=
"server"
TextBoxStyle-width
=
"45px"
/>
<
telerik:GridTextBoxColumnEditor
ID
=
"GridTextBoxTotalPrice"
runat
=
"server"
TextBoxStyle-width
=
"45px"
/>
<
telerik:GridTextBoxColumnEditor
ID
=
"GridTextBoxEachWeight"
runat
=
"server"
TextBoxStyle-width
=
"35px"
/>
<
telerik:GridTextBoxColumnEditor
ID
=
"GridTextBoxTotalWeight"
runat
=
"server"
TextBoxStyle-width
=
"35px"
/>
<
telerik:GridTextBoxColumnEditor
ID
=
"GridTextBoxEachCubes"
runat
=
"server"
TextBoxStyle-width
=
"40px"
/>
<
telerik:GridTextBoxColumnEditor
ID
=
"GridTextBoxTotalCubes"
runat
=
"server"
TextBoxStyle-width
=
"40px"
/>
<
telerik:GridTextBoxColumnEditor
ID
=
"GridNumericQty"
runat
=
"server"
TextBoxStyle-width
=
"35px"
/>
<
telerik:RadWindowManager
ID
=
"RadWindowManager2"
runat
=
"server"
></
telerik:RadWindowManager
>
<
asp:SqlDataSource
ID
=
"SqlDataSourceQuoteItems"
runat
=
"server"
ConnectionString
=
"Data Source=DWDATA2;Initial Catalog=DWJobInfo;Integrated Security=True"
ProviderName
=
"System.Data.SqlClient"
SelectCommand
=
"SELECT * FROM [tblMetalCabsQuoteItems] WHERE ([QuoteNo] = @QuoteNo) ORDER BY [Room], [Elevation]"
DeleteCommand
=
"DELETE FROM tblMetalCabsItems WHERE id = @id"
>
<
SelectParameters
>
<
asp:ControlParameter
ControlID
=
"lblQuoteNo"
Name
=
"QuoteNo"
PropertyName
=
"Text"
Type
=
"String"
/>
</
SelectParameters
>
<
DeleteParameters
>
<
asp:Parameter
Name
=
"id"
Type
=
"Int16"
/>
</
DeleteParameters
>
</
asp:SqlDataSource
>
Folks, Using Telerik ASP.NET Ajax 2010 built 3 with VS 2010.
I have a hierachal radgrid. I would like to prevent users with an alert message to expand the Row without selecting the Row 1st.
For example, if Parent row 1 is selected, then if I click to expand Parent row 2 without selecting Parent row 2
-- Although Parent row 1 is still selected, but Parent row 2 expands.
I understand from this for single/expand:
http://www.telerik.com/help/aspnet-ajax/grdsingleexpandinhierarchicalgrid.html
Basically
- Attached file is my desire result (Child Expanded After Parent Row Highlighted.JPG)
- Attached file is NOT my desire result (Child Expanded without Parent Row Highlighted.JPG)
Thanks.
GC_0620