or
function
OnClientContextMenu(sender, args) {
var
appointment = args.get_appointment();
if
(appointment)
{
if
(appointment.get_attributes().getAttribute(
"Status"
) != 2 || appointment.get_attributes().getAttribute(
"Status"
) != 3) {
//Stop context menu from showing.
return
;
}
else
{
//Show context menu.
menu.show(args.get_domEvent());
}
}
}
OnClientAppointmentContextMenu="OnClientContextMenu"
<
telerik:RadContextMenu
ID
=
"RadContextMenu1"
runat
=
"server"
>
<
Targets
>
<
telerik:ContextMenuControlTarget
ControlID
=
"TextBox1"
/>
<
telerik:ContextMenuControlTarget
ControlID
=
"Label1"
/>
<
telerik:ContextMenuControlTarget
ControlID
=
"Image1"
/>
</
Targets
>
<
Items
>
</
Items
>
</
telerik:RadContextMenu
>
Private
Sub
Page_Load(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
Me
.Load
If
Not
IsPostBack
Then
RadContextMenu1.DataTextField =
"Text"
RadContextMenu1.DataNavigateUrlField =
"Url"
RadContextMenu1.DataFieldID =
"ID"
RadContextMenu1.DataFieldParentID =
"ParentID"
RadContextMenu1.DataSource = GenerateSiteData()
RadContextMenu1.DataBind()
End
If
End
Sub
Private
Function
GenerateSiteData()
As
ArrayList
Dim
siteData
As
New
ArrayList()
siteData.Add(
New
SiteDataItem(1,
Nothing
,
"All Sites"
,
""
))
siteData.Add(
New
SiteDataItem(2, 1,
"Search Engines"
,
""
))
siteData.Add(
New
SiteDataItem(3, 1,
"News Sites"
,
""
))
siteData.Add(
New
SiteDataItem(4, 2,
"Yahoo"
,
"http://www.yahoo.com"
))
siteData.Add(
New
SiteDataItem(5, 2,
"MSN"
,
"http://www.msn.com"
))
siteData.Add(
New
SiteDataItem(6, 2,
"Google"
,
"http://www.google.com"
))
siteData.Add(
New
SiteDataItem(7, 3,
"CNN"
,
"http://www.cnn.com"
))
siteData.Add(
New
SiteDataItem(8, 3,
"BBC"
,
"http://www.bbc.co.uk"
))
siteData.Add(
New
SiteDataItem(9, 3,
"FOX"
,
"http://www.foxnews.com"
))
Return
siteData
End
Function
Public
Class
SiteDataItem
Private
_text
As
String
Private
_url
As
String
Private
_id
As
Integer
Private
_parentId
As
Integer
Public
Property
Text()
As
String
Get
Return
_text
End
Get
Set
(
ByVal
value
As
String
)
_text = value
End
Set
End
Property
Public
Property
Url()
As
String
Get
Return
_url
End
Get
Set
(
ByVal
value
As
String
)
_url = value
End
Set
End
Property
Public
Property
ID()
As
Integer
Get
Return
_id
End
Get
Set
(
ByVal
value
As
Integer
)
_id = value
End
Set
End
Property
Public
Property
ParentID()
As
Integer
Get
Return
_parentId
End
Get
Set
(
ByVal
value
As
Integer
)
_parentId = value
End
Set
End
Property
Public
Sub
New
(
ByVal
id
As
Integer
,
ByVal
parentId
As
Integer
,
ByVal
text
As
String
,
ByVal
url
As
String
)
_id = id
_parentId = parentId
_text = text
_url = url
End
Sub
End
Class
<
telerik:RadAjaxManagerProxy
ID
=
"RadAjaxManagerProxy1"
runat
=
"server"
>
</
telerik:RadAjaxManagerProxy
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"Default"
>
</
telerik:RadAjaxLoadingPanel
>
<
div
class
=
"localEventContainer"
>
<
asp:Panel
ID
=
"ListViewPanel"
runat
=
"server"
>
<
div
class
=
"localEventTop"
><
asp:Label
ID
=
"lblControlTitle"
runat
=
"server"
></
asp:Label
></
div
>
<
telerik:RadListView
ID
=
"RadListView1"
runat
=
"server"
AllowPaging
=
"True"
DataKeyNames
=
"EventID"
ItemPlaceholderID
=
"EventItemContainer"
Skin
=
"Black"
OnDataBound
=
"RadListView1_DataBound"
OnNeedDataSource
=
"RadListView1_NeedDataSource"
>
<
LayoutTemplate
>
<
asp:Panel
ID
=
"EventItemContainer"
runat
=
"server"
></
asp:Panel
>
<
table
cellpadding
=
"0"
cellspacing
=
"0"
width
=
"100%;"
style
=
"clear: both;"
>
<
tr
>
<
td
>
<
telerik:RadDataPager
ID
=
"RadDataPager1"
runat
=
"server"
PagedControlID
=
"RadListView1"
PageSize
=
"5"
>
<
Fields
>
<
telerik:RadDataPagerButtonField
FieldType
=
"FirstPrev"
/>
<
telerik:RadDataPagerButtonField
FieldType
=
"Numeric"
/>
<
telerik:RadDataPagerButtonField
FieldType
=
"NextLast"
/>
</
Fields
>
</
telerik:RadDataPager
>
</
td
>
</
tr
>
</
table
>
</
LayoutTemplate
>
<
ItemTemplate
>
<
div
class
=
"localEventArticleContainer"
>
<
div
class
=
"localEventTitle"
>
<
asp:Label
ID
=
"lblEventName"
runat
=
"server"
Text='<%# Eval("Name") %>'></
asp:Label
>
</
div
>
<
div
class
=
"localEventDate"
>
<
asp:Label
ID
=
"lblDate"
runat
=
"server"
Text='<%# Eval("Date", "{0:d}") %>'></
asp:Label
>
<
asp:Label
ID
=
"lblTime"
runat
=
"server"
Text='<%# Eval("Starttime") %>'></
asp:Label
>
</
div
>
<
div
class
=
"localEventText"
>
<
asp:Label
ID
=
"lblText"
runat
=
"server"
Text='<%# Eval("LocationName") %>'></
asp:Label
>
</
div
>
<%--<
div
class
=
"localEventLink"
>
<
asp:HyperLink
ID
=
"lblLink"
runat
=
"server"
Text
=
"Ticnet.se"
NavigateUrl='<%# Eval("Url") %>' Target="_blank"></
asp:HyperLink
>
</
div
>--%>
</
div
>
</
ItemTemplate
>
</
telerik:RadListView
>
</
asp:Panel
>
<
div
class
=
"localEventBottom"
></
div
>
</
div
>
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if (this.Page != null && !this.DesignMode)
{
RadAjaxManager ajaxManager = RadAjaxManager.GetCurrent(this.Page);
if (ajaxManager != null)
{
ajaxManager.AjaxSettings.AddAjaxSetting(ListViewPanel, ListViewPanel, RadAjaxLoadingPanel1);
}
lblEventAreaID.Text = EventAreaID.ToString();
}
}
protected void RadListView1_NeedDataSource(object sender, RadListViewNeedDataSourceEventArgs e)
{
RadListView1.DataSource = ReadData("SELECT e.EventID, e.Name,e.Url, ev.Name AS LocationName, et.Date, et.Starttime FROM mp_Event e INNER JOIN mp_EventLocation ev ON e.EventLocationID = ev.EventLocationID INNER JOIN mp_EventTime et on e.EventID = et.EventID WHERE " + "ev.AreaID = @AreaID AND " + "et.Date >= '" + Today + "' ORDER BY Date ASC");
}
private SqlDataReader ReadData(string query)
{
string connString = ConfigurationManager.ConnectionStrings["UnigolfMPTestConnectionString"].ConnectionString;
conn = new SqlConnection(connString);
conn.Open();
SqlCommand cmd = new SqlCommand(query, conn);
cmd.Parameters.AddWithValue("@AreaID", lblEventAreaID.Text);
reader = cmd.ExecuteReader();
return reader;
}
protected void RadListView1_DataBound(object sender, EventArgs e)
{
reader.Close();
conn.Close();
}