Hi,
I've used radrotator to display some products. Below is the code sample, there are current two problems I'm facing (as listed below)
I'm showing the product description when either user selects the radrotatoritem or when user clicks on the ControlButtons.
1)If I toggle between either of this option I get an error (error screenshot attached)
2)If I toggle between either of this option the product description is shown incorrectly for a product which i've not selected at all. This happens when i toggle between the ControlButtons and clicking on the products themselves.
3) Sometimes I get this error like the below one
A]System.Collections.Generic.List`1[SelectProducts+fileInfo] cannot be cast to [B]System.Collections.Generic.List`1[SelectProducts+fileInfo]. Type A originates from 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' in the context 'LoadNeither' at location 'C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'. Type B originates from 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' in the context 'LoadNeither' at location 'C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'.
Could you please help me resolve these issues? Thanks
private List<fileInfo> imagesArray
{
//Error #3 is thrown here.
get { return (List<fileInfo>)ViewState["imagesArray"]; }
set { ViewState["imagesArray"] = value; }
}
<%@ Page Title="" Language="C#" AutoEventWireup="true" CodeFile="SelectProducts.aspx.cs"
Inherits="SelectProducts" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
>
<
telerik:RadScriptBlock
ID
=
"as"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function OnClientItemClicked(sender, args) {
sender.set_currentItemIndex(args.get_item().get_index(), true);
var objArgs = sender.get_currentItem().get_index();
$find("<%= RadAjaxManager1.ClientID %>").ajaxRequest(objArgs);
}
function OnClientButtonClick(sender, args) {
var objArgs = sender.get_currentItem().get_index();
$find("<%= RadAjaxManager1.ClientID %>").ajaxRequest(objArgs);
}
function ShowDescription(sender, args) {
}
</
script
>
</
telerik:RadScriptBlock
>
<
title
>Vitti Login</
title
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
/>
<
link
rel
=
"shortcut icon"
type
=
"image/ico"
href
=
"Themes/Default/Images/Icons/icon_fav.ico"
/>
<
link
id
=
"Link1"
rel
=
"stylesheet"
type
=
"text/css"
runat
=
"server"
href
=
"Themes/Default/Stylesheet/base.css"
media
=
"all"
/>
<
style
type
=
"text/css"
>
.rotatorBackground
{
margin: 0 auto;
width: 800px;
height: 400px;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
}
.rotNoButtonsBack
{
width: 810px;
background:url(../Images/Backgrounds/bg_Products.jpg);
background-repeat: no-repeat;
}
.rotatorStyle
{
margin: 40px auto 0px;
}
.rotatorStyle .RotatorItem
{
margin: 5px;
height: 100px;
width: 100px;
}
.rotatorCarouselStyle
{
margin: 0px auto;
}
.RotatorItem
{
border: solid 0px #666666 !important;
}
.mainDiv
{
margin-bottom: 20px;
}
.configurationPanel
{
width: 290px;
border: 0px;
}
</
style
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
asp:ScriptManager
ID
=
"ScriptManager1"
runat
=
"server"
AsyncPostBackTimeout
=
"300"
>
</
asp:ScriptManager
>
<
telerik:RadWindowManager
Skin
=
"Default"
ID
=
"RadWindowManager2"
ShowContentDuringLoad
=
"false"
Modal
=
"true"
IconUrl
=
""
VisibleStatusbar
=
"false"
ReloadOnShow
=
"true"
Behavior
=
"Move,Close"
DestroyOnClose
=
"true"
runat
=
"server"
Width
=
"310"
>
</
telerik:RadWindowManager
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
OnAjaxRequest
=
"RadAjaxManager1_AjaxRequest"
runat
=
"server"
DefaultLoadingPanelID
=
"LoadingPanel1"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"radRotProducts"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"detailsPanel"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"chkRotationType"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"radRotProducts"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadAjaxManager1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"detailsPanel"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Transparency
=
"30"
EnableSkinTransparency
=
"false"
BackColor
=
"#E0E0E0"
>
</
telerik:RadAjaxLoadingPanel
>
<
div
id
=
"container"
>
<!-- banner starts -->
<
div
style
=
"float: right; height: 30px; padding-right: 5px"
>
<
telerik:RadMenu
Visible
=
"false"
ID
=
"RadMenu2"
runat
=
"server"
EnableRoundedCorners
=
"true"
EnableShadows
=
"true"
Skin
=
"Windows7"
>
<
Items
>
<
telerik:RadMenuItem
Text
=
"About Us"
AccessKey
=
"A"
Value
=
"1"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
IsSeparator
=
"True"
Visible
=
"true"
/>
<
telerik:RadMenuItem
Text
=
"Contact Us"
AccessKey
=
"C"
Value
=
"132"
>
</
telerik:RadMenuItem
>
</
Items
>
</
telerik:RadMenu
>
</
div
>
<
div
id
=
"header_home"
>
<
div
id
=
"logo"
>
</
div
>
<
div
id
=
"app_title"
style
=
"visibility: hidden"
>
</
div
>
<
div
id
=
"client_logo"
>
<
asp:Image
ID
=
"imgCompanyLogo"
runat
=
"server"
Height
=
"36px"
/>
</
div
>
</
div
>
<
div
style
=
"clear: both"
>
</
div
>
<!-- banner ends -->
<!-- menu starts -->
<
div
>
<
table
cellpadding
=
"0"
cellspacing
=
"0"
border
=
"0"
width
=
"100%"
>
<
tr
>
<
td
id
=
"menubar_left"
>
</
td
>
<
td
id
=
"menubar_middle"
>
<
table
width
=
"100%"
cellpadding
=
"0"
cellspacing
=
"0"
border
=
"0"
>
<
tr
>
<
td
style
=
"padding-top: 1px"
align
=
"right"
>
<
asp:CheckBox
AutoPostBack
=
"true"
ID
=
"chkRotationType"
Text
=
"Automatic"
runat
=
"server"
Checked
=
"true"
OnCheckedChanged
=
"chkRotationType_CheckedChanged"
/>
</
td
>
</
tr
>
</
table
>
</
td
>
<
td
id
=
"menubar_right"
>
</
td
>
</
tr
>
</
table
>
</
div
>
<!-- menu ends -->
<!-- body starts -->
<
div
>
<
table
cellpadding
=
"0"
cellspacing
=
"0"
border
=
"0"
width
=
"100%"
>
<
tr
>
<
td
id
=
"bg_background_left"
>
</
td
>
<
td
id
=
"bg_background_middle"
>
<
div
>
<
telerik:RadAjaxPanel
ID
=
"AjaxPanel1"
CssClass
=
"rotNoButtonsBack"
runat
=
"server"
LoadingPanelID
=
"LoadingPanel1"
>
<
div
class
=
"mainDiv"
>
<
div
class
=
"rotatorBackground"
>
<%-- ItemWidth and ItemHeight include 2x5(pixels) margin and 1x2(pixels) border --%>
<
telerik:RadRotator
ID
=
"radRotProducts"
RotatorType
=
"CarouselButtons"
runat
=
"server"
OnClientItemClicking
=
"OnClientItemClicked"
EnableRandomOrder
=
"true"
PauseOnMouseOver
=
"false"
Width
=
"800px"
Height
=
"400px"
CssClass
=
"rotatorCarouselStyle"
ItemHeight
=
"200"
FrameDuration
=
"2000"
ItemWidth
=
"300"
ScrollDuration
=
"500"
>
<
ItemTemplate
>
<
asp:Image
runat
=
"server"
ID
=
"imgProduct"
ImageUrl='<%#DataBinder.Eval(Container.DataItem,"Image")%>'
CssClass="RotatorItem" />
</
ItemTemplate
>
<
ControlButtons
OnClientButtonClick
=
"OnClientButtonClick"
/>
</
telerik:RadRotator
>
</
div
>
</
div
>
</
telerik:RadAjaxPanel
>
<
table
border
=
"0"
cellpadding
=
"3"
cellspacing
=
"2"
width
=
"750px"
align
=
"center"
style="background-color: #f9f9f9;
border: 1px #f1f1f1 solid;">
<
tr
>
<
td
class
=
"infoPane"
>
<
div
class
=
"infoPaneBg"
runat
=
"server"
id
=
"detailsPanel"
>
<
div
class
=
"imageDetailsHeader"
>
Image details:</
div
>
<
div
id
=
"viewPanel"
>
<
div
class
=
"details"
>
<
strong
>Name:</
strong
>
<
asp:Label
ID
=
"labelImageName"
runat
=
"server"
></
asp:Label
></
div
>
<
div
class
=
"details"
>
<
strong
>Keywords:</
strong
>
<
asp:Label
ID
=
"labelImageKeywords"
runat
=
"server"
></
asp:Label
></
div
>
<
div
class
=
"details"
>
<
strong
>Comments:</
strong
>
<
asp:Label
ID
=
"labelImageComments"
runat
=
"server"
></
asp:Label
></
div
>
</
div
>
</
div
>
</
td
>
</
tr
>
</
table
>
<
br
/>
</
div
>
</
td
>
<
td
id
=
"bg_background_right"
>
</
td
>
</
tr
>
</
table
>
</
div
>
<!-- body ends -->
<!-- footer starts -->
<
div
id
=
"footer"
>
<
div
style
=
"float: right; padding-top: 3px; padding-right: 10px"
>
<
a
href
=
"http://www.xyz.com"
title
=
"xyzxyzHome"
>
<
img
src
=
"Themes/Default/Images/Logos/logo_xyz.png"
alt
=
"xyz"
border
=
"0"
/></
a
>
</
div
>
<
div
id
=
"sub-footer"
>
Copyright 2011. <
span
style
=
"color: #ff9933; font-weight: bold"
>xyz</
span
>
All Rights Reserved
</
div
>
</
div
>
<!-- footer ends -->
</
div
>
</
form
>
</
body
>
</
html
>
[Serializable()]
private
struct
fileInfo
{
public
string
filename;
public
string
name;
public
string
keywords;
public
string
comments;
}
private
List<fileInfo> imagesArray
{
get
{
return
(List<fileInfo>)ViewState[
"imagesArray"
]; }
set
{ ViewState[
"imagesArray"
] = value; }
}
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(Session[
"objUser"
] !=
null
)
{
objUser = Session[
"objUser"
]
as
User;
}
if
(!IsPostBack ||
object
.Equals(imagesArray,
null
))
{
BindSubscriptionList();
RebindRotator();
// radRotProducts.Attributes.Add("onkeyup", RadAjaxManager1.GetAjaxRequestReference(radRotProducts.
}
}
protected
void
BindSubscriptionList()
{
imagesArray =
new
List<fileInfo>();
DataTable dtAllSubscriptions = (DataTable)Session[
"dtAllSubscriptions"
];
foreach
(
string
fileName
in
System.IO.Directory.GetFiles(Server.MapPath(
"~/Themes/Default/Images/Buttons/BtnProducts/"
),
"*.png"
))
{
string
fileN = fileName.Substring(fileName.LastIndexOf(
"\\"
) + 1);
string
appShortName = fileN.Substring(fileN.LastIndexOf(
"_"
) + 1);
appShortName = appShortName.Substring(0, appShortName.IndexOf(
"."
));
string
filterBySub =
"ApplicationShortName ='"
+ appShortName +
"'"
;
if
(dtAllSubscriptions !=
null
)
{
DataRow[] rows = dtAllSubscriptions.Select(filterBySub);
if
(rows.Length > 0)
{
fileInfo fInfo =
new
fileInfo();
fInfo.name =
"~/Themes/Default/Images/Buttons/BtnProducts/"
+ fileName.Substring(fileName.LastIndexOf(
"\\"
) + 1);
fInfo.filename = fInfo.name;
fInfo.keywords =
"Vitti"
+ fInfo.name;
fInfo.comments = fInfo.name +
"Vitti"
;
imagesArray.Add(fInfo);
}
}
}
}
private
void
RebindRotator()
{
DataTable rotatorData =
new
DataTable();
rotatorData.Columns.Add(
"Image"
);
rotatorData.Columns.Add(
"Name"
);
foreach
(fileInfo tempInfo
in
imagesArray)
{
rotatorData.Rows.Add(
new
string
[] { tempInfo.filename, tempInfo.name });
}
radRotProducts.DataSource = rotatorData;
radRotProducts.DataBind();
//ConfigureRotator(radRotProducts,null);
}
protected
void
LoadProductDescription(
object
sender, Telerik.Web.UI.RadRotatorEventArgs e)
{
Telerik.Web.UI.RadRotatorItem item = e.Item;
fileInfo fInfo = imagesArray[Convert.ToInt32(item.DataItem.ToString())];
//set the image information
labelImageComments.Text = fInfo.comments;
labelImageKeywords.Text = fInfo.keywords;
labelImageName.Text = fInfo.name;
}
protected
void
RadAjaxManager1_AjaxRequest(
object
sender, AjaxRequestEventArgs e)
{
object
item=e.Argument.ToString();
RadRotatorItem radRotItem=
new
RadRotatorItem(item);
Telerik.Web.UI.RadRotatorEventArgs ev =
new
Telerik.Web.UI.RadRotatorEventArgs(radRotItem);
LoadProductDescription(radRotProducts, ev);
}
<
telerik:RadFormDecorator
ID
=
"RadFormDecorator1"
runat
=
"server"
Skin
=
"Office2007"
DecorationZoneID
=
"displayContainer"
DecoratedControls
=
"All"
ControlsToSkip
=
"Select"
/>
<
div
id
=
"displayContainer"
> ... </div>
<
TABLE
id
=
"Table2"
style
=
"width:922px; table-layout:fixed"
>
<
tr
>
<
td
>
<
telerik:RadGrid
ID
=
"gvDeletedOrders"
runat
=
"server"
Width
=
922px
AutoGenerateColumns
=
"False"
CellSpacing
=
"0"
GridLines
=
"None"
Skin
=
"Simple"
ondetailtabledatabind
=
"gvDeletedOrders_DetailTableDataBind"
onitemdatabound
=
"gvDeletedOrders_ItemDataBound"
>
<
HeaderContextMenu
CssClass
=
"GridContextMenu GridContextMenu_Default"
></
HeaderContextMenu
>
<
AlternatingItemStyle
Font-Names
=
"Verdana"
Font-Size
=
"XX-Small"
Wrap
=
"False"
/>
<
ItemStyle
Wrap
=
"False"
/>
<
MasterTableView
DataKeyNames
=
"OrderID"
Name
=
"master"
HierarchyLoadMode
=
"Client"
Width
=
922px
>
<
NoRecordsTemplate
>
<
asp:Label
ID
=
"lblNoNotes"
runat
=
"server"
Font-Names
=
"Verdana"
Font-Size
=
"X-Small"
Text
=
"No Notes "
></
asp:Label
>
</
NoRecordsTemplate
>
<
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
></
CommandItemSettings
>
<
RowIndicatorColumn
FilterControlAltText
=
"Filter RowIndicator column"
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
FilterControlAltText
=
"Filter ExpandColumn column"
>
</
ExpandCollapseColumn
>
<
DetailTables
>
<
telerik:GridTableView
Name
=
"Notes"
Width
=
922px
>
<
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
></
CommandItemSettings
>
<
RowIndicatorColumn
FilterControlAltText
=
"Filter RowIndicator column"
></
RowIndicatorColumn
>
<
ExpandCollapseColumn
FilterControlAltText
=
"Filter ExpandColumn column"
></
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridBoundColumn
SortExpression
=
"Narrative"
HeaderText
=
"Comment"
HeaderButtonType
=
"TextButton"
DataField
=
"Narrative"
>
<
ItemStyle
Wrap
=
"True"
Width
=
"400px"
></
ItemStyle
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"Author"
HeaderText
=
"Staff"
HeaderButtonType
=
"TextButton"
DataField
=
"Author"
>
<
ItemStyle
Wrap
=
"True"
Width
=
"100px"
></
ItemStyle
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"DateWritten"
HeaderText
=
"Date"
HeaderButtonType
=
"TextButton"
DataField
=
"DateWritten"
>
<
ItemStyle
Wrap
=
"True"
Width
=
"100px"
></
ItemStyle
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"TheSender"
HeaderText
=
"Sender"
HeaderButtonType
=
"TextButton"
DataField
=
"TheSender"
>
<
ItemStyle
Wrap
=
"True"
Width
=
"100px"
></
ItemStyle
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"TheRecipient"
HeaderText
=
"Recipient"
HeaderButtonType
=
"TextButton"
DataField
=
"TheRecipient"
>
<
ItemStyle
Wrap
=
"True"
Width
=
"222px"
></
ItemStyle
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
></
EditColumn
>
</
EditFormSettings
>
<
ItemStyle
Font-Names
=
"Verdana"
Font-Size
=
"XX-Small"
Wrap
=
"True"
/>
<
AlternatingItemStyle
Font-Names
=
"Verdana"
Font-Size
=
"XX-Small"
/>
<
HeaderStyle
BackColor
=
"Black"
ForeColor
=
"White"
/>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"OrderID"
FilterControlAltText
=
"Filter column1 column"
HeaderText
=
"OrderID"
UniqueName
=
"OrderID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"SalesmanName"
FilterControlAltText
=
"Filter column1 column"
HeaderText
=
"Salesman"
UniqueName
=
"SalesmanName"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"RegNumber"
FilterControlAltText
=
"Filter column1 column"
HeaderText
=
"Reg"
UniqueName
=
"RegNumber"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Status"
FilterControlAltText
=
"Filter column1 column"
HeaderText
=
"Status"
UniqueName
=
"Status"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"DateQuoteCreated"
FilterControlAltText
=
"Filter column1 column"
HeaderText
=
"Quote Created"
UniqueName
=
"DateCreated"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Version"
FilterControlAltText
=
"Filter column1 column"
HeaderText
=
"Version"
UniqueName
=
"Version"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"CustomerFirstname"
FilterControlAltText
=
"Filter column1 column"
HeaderText
=
"Customer Firstname"
UniqueName
=
"CustomerFirstname"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"CustomerSurname"
FilterControlAltText
=
"Filter column1 column"
HeaderText
=
"Customer Surname"
UniqueName
=
"CustomerSurname"
>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
FilterControlAltText
=
"Filter TemplateColumn column"
HeaderText
=
"Home Phone"
UniqueName
=
"TemplateColumn"
>
<
ItemTemplate
>
<
label
><%# Eval("TheCustomer.HomePhone")%></
label
>
</
ItemTemplate
>
<
HeaderStyle
Width
=
60
% />
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
FilterControlAltText
=
"Filter TemplateColumn column"
HeaderText
=
"Email"
UniqueName
=
"TemplateColumn"
>
<
ItemTemplate
>
<
label
><%# Eval("TheCustomer.EMailAddress")%></
label
>
</
ItemTemplate
>
<
HeaderStyle
Width
=
60
% />
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
DataField
=
"NoteCount"
FilterControlAltText
=
"Filter column1 column"
HeaderText
=
"No. of Notes"
UniqueName
=
"NoteCount"
>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
FilterControlAltText
=
"Filter TemplateColumn column"
HeaderText
=
"Notes"
UniqueName
=
"TemplateColumn"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblNotes"
runat
=
"server"
Text
=
"Show Notes"
Font-Names
=
"Verdana"
Font-Size
=
"XX-Small"
Font-Underline
=
"True"
ForeColor
=
"Blue"
Visible
=
"False"
></
asp:Label
>
</
ItemTemplate
>
<
HeaderStyle
Width
=
60
% />
</
telerik:GridTemplateColumn
>
<%-- <
telerik:GridBoundColumn
DataField
=
"PotentialInitialComm"
FilterControlAltText
=
"Filter column1 column"
HeaderText
=
"Potential Comm"
UniqueName
=
"PotentialInitialComm"
>
</
telerik:GridBoundColumn
>--%>
<%-- <
telerik:GridTemplateColumn
FilterControlAltText
=
"Filter TemplateColumn1 column"
HeaderText
=
"Assign To"
UniqueName
=
"TemplateColumn1"
>
<
ItemTemplate
>
<
asp:DropDownList
ID
=
"ddlAssignSm"
runat
=
"server"
DataTextField
=
"FullName"
DataValueField
=
"SalesmanID"
Font-Names
=
"Verdana"
Font-Size
=
"XX-Small"
>
</
asp:DropDownList
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>--%>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
></
EditColumn
>
</
EditFormSettings
>
<
ItemStyle
Font-Names
=
"Verdana"
Font-Size
=
"XX-Small"
Wrap
=
"False"
/>
<
HeaderStyle
Font-Bold
=
"True"
Font-Names
=
"Verdana"
Font-Size
=
"XX-Small"
Wrap
=
"False"
/>
</
MasterTableView
>
<
FilterMenu
EnableImageSprites
=
"False"
></
FilterMenu
>
</
telerik:RadGrid
>
</
td
>
</
tr
>
</
TABLE
>
Hi all!
TEST.ASPX:<%@ Page Language="VB" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="tooltip_demo_test" %>
<%@ Register Src="~/tooltip_demo/DynamicToolTip.ascx" TagName="ProductDetails" TagPrefix="uc1" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
id
=
"Head1"
runat
=
"server"
>
<
title
>
Test Tool Tip
</
title
>
</
head
>
<
body
>
<
form
id
=
"Form1"
method
=
"post"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
</
telerik:RadScriptManager
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"pnltotal"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"pnltotal"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"btntest"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"pnltotal"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
Skin
=
"Windows7"
BackColor
=
"Azure"
runat
=
"server"
>
</
telerik:RadAjaxLoadingPanel
>
<
asp:Panel
runat
=
"server"
ID
=
"pnltotal"
>
<
telerik:RadToolTipManager
ID
=
"RadToolTipManager1"
Width
=
"100"
Height
=
"200"
OffsetY
=
"-1"
HideEvent
=
"ManualClose"
runat
=
"server"
Skin
=
"Windows7"
EnableShadow
=
"true"
OnAjaxUpdate
=
"OnAjaxUpdate"
RelativeTo
=
"Element"
Position
=
"MiddleRight"
>
</
telerik:RadToolTipManager
>
<
br
/>
<
br
/>
<
asp:Label
runat
=
"server"
ID
=
"lblfechasel"
Font-Size
=
"10px"
ForeColor
=
"#CC0000"
Font-Names
=
"Verdana"
></
asp:Label
>
<
br
/>
<
br
/>
<
asp:DataList
ID
=
"dlsitems"
runat
=
"server"
CellPadding
=
"0"
CellSpacing
=
"3"
RepeatDirection
=
"Vertical"
RepeatColumns
=
"1"
>
<
ItemTemplate
>
<
asp:Table
runat
=
"server"
CellPadding
=
"5"
CellSpacing
=
"0"
BorderColor
=
"#E1E1E1"
BorderStyle
=
"Solid"
BorderWidth
=
"1"
>
<
asp:TableRow
runat
=
"server"
VerticalAlign
=
"Middle"
>
<
asp:TableCell
runat
=
"server"
HorizontalAlign
=
"Left"
>
<
asp:Label
runat
=
"server"
ID
=
"lblvalorsel"
Text='<%# Eval("IDsel") %>' Visible="false"></
asp:Label
>
<
asp:Label
ID
=
"targetControl1"
runat
=
"server"
Text='<%# Eval("textosel") %>' Font-Size="11px" Font-Names="Verdana" ForeColor="Purple" style="cursor:pointer;"></
asp:Label
>
</
asp:TableCell
>
</
asp:TableRow
>
</
asp:Table
>
</
ItemTemplate
>
</
asp:DataList
>
<
br
/>
<
br
/>
</
asp:Panel
>
<
asp:Button
runat
=
"server"
ID
=
"btntest"
Text
=
"Actualizar"
OnClick
=
"updateDate"
/>
</
form
>
</
body
>
</
html
>
Imports
Telerik.Web.UI
Imports
System.Data
Partial
Class
tooltip_demo_test
Inherits
System.Web.UI.Page
Protected
Sub
OnAjaxUpdate(
ByVal
sender
As
Object
,
ByVal
args
As
ToolTipUpdateEventArgs)
Me
.UpdateToolTip(args.Value, args.UpdatePanel)
End
Sub
Private
Sub
UpdateToolTip(
ByVal
elementID
As
String
,
ByVal
panel
As
UpdatePanel)
Dim
ctrl
As
Control = Page.LoadControl(
"DynamicToolTip.ascx"
)
Dim
details
As
DynamicToolTip =
DirectCast
(ctrl, DynamicToolTip)
details.IDsel = elementID
panel.ContentTemplateContainer.Controls.Add(ctrl)
End
Sub
Protected
Sub
Page_Load(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
Me
.Load
Dim
datatablefinal
As
New
DataTable(
"items"
)
Dim
colIDsel
As
New
DataColumn(
"IDsel"
)
Dim
coltextosel
As
New
DataColumn(
"textosel"
)
datatablefinal.Columns.Add(colIDsel)
datatablefinal.Columns.Add(coltextosel)
For
var1
As
Integer
= 1
To
3
Dim
fila
As
DataRow
fila = datatablefinal.NewRow
fila.Item(
"IDsel"
) = var1
fila.Item(
"textosel"
) =
"Over Here No. "
& var1.ToString
datatablefinal.Rows.Add(fila)
Next
dlsitems.DataSource = datatablefinal.DefaultView
dlsitems.DataBind()
End
Sub
Protected
Sub
Page_PreRender(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
Me
.PreRender
For
Each
item
As
DataListItem
In
dlsitems.Items
Dim
targetControl1
As
Label =
DirectCast
(item.FindControl(
"targetControl1"
), Label)
Dim
lblvalorsel
As
Label =
DirectCast
(item.FindControl(
"lblvalorsel"
), Label)
Me
.RadToolTipManager1.TargetControls.Add(targetControl1.ClientID, lblvalorsel.Text,
True
)
Next
End
Sub
Protected
Sub
updateDate(
ByVal
sender
As
Object
,
ByVal
e
As
EventArgs)
lblfechasel.Text = DateTime.Now.ToString(
"dd 'de' MMMM 'de' yyyy - hh:mm:ss tt"
)
End
Sub
End
Class
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="DynamicToolTip.ascx.vb" Inherits="DynamicToolTip" %>
<
asp:Table
runat
=
"server"
CellPadding
=
"30"
CellSpacing
=
"0"
>
<
asp:TableRow
runat
=
"server"
VerticalAlign
=
"Middle"
>
<
asp:TableCell
runat
=
"server"
HorizontalAlign
=
"Center"
>
<
asp:Label
runat
=
"server"
ID
=
"lbltextchange"
Font-Bold
=
"true"
></
asp:Label
>
</
asp:TableCell
>
</
asp:TableRow
>
</
asp:Table
>
Partial
Class
DynamicToolTip
Inherits
System.Web.UI.UserControl
Dim
IDselfinal
As
Integer
Property
IDsel()
As
Integer
Get
IDsel = IDselfinal
End
Get
Set
(
ByVal
value
As
Integer
)
IDselfinal = value
End
Set
End
Property
Protected
Sub
Page_Load(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
Me
.Load
Select
Case
IDsel
Case
1
lbltextchange.Text =
"Hola Mundo 1"
lbltextchange.ForeColor = Drawing.Color.FromName(
"#0066CC"
)
Case
2
lbltextchange.Text =
"Hola Mundo 2"
lbltextchange.ForeColor = Drawing.Color.FromName(
"#CC0000"
)
Case
3
lbltextchange.Text =
"Hola Mundo 3"
lbltextchange.ForeColor = Drawing.Color.FromName(
"#006600"
)
End
Select
End
Sub
End
Class