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

Custom SINGLE Spite

19 Answers 120 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Guss
Top achievements
Rank 2
Guss asked on 04 May 2008, 04:07 PM
Hi, I've read all your skinning threads on this forum and can impliment it like that. but their is a problem with that implimentation.

When I create my custom skin, I'm forced to point to individual gif images. for all the buttons. I did change the css file to show to my own sprite.PNG, an it works for the commandbar, but the add, and delete images still point to gif files. Now I can change all of them to point to different png's, but then the whole objective of reducing the http request and having a single sprite is for nothing.

See http://www.4solutions.co.za/telerik/GIF_PNG.jpg
the top is your single sprite.gif and the bottom is my custom sprite.PNG.

I can't sleep at night because of all the rastered edges on images.
How do I create a custom skin, using my own single sprite PNG file.
Like your build in styles, I just want to use ONE image for styling the whole grid, a PNG image.

(I do not the limitation that only certain browsers can use PNG-24 images, but do know how to overcome this by creating multiple transparency layers in a single PNG-8 file)

19 Answers, 1 is accepted

Sort by
0
Guss
Top achievements
Rank 2
answered on 04 May 2008, 09:10 PM
I've figured out how to use the default theme of .net App_Themes/Default/...skin...so now it saves me time...but I would still prefer that that all the images comes from my single sprite.png file.
The grid delete.gif button and edit.gif button as an example of two images that keeps on coming as seperate images, and not coming from the sprite.png.
0
Dimo
Telerik team
answered on 06 May 2008, 09:15 AM
Hi Guss,

Actually, it is a lot better to create CSS sprite images as GIF files, not PNG files.

As for the images in the command item row, you can use sprites for them as well, if you define a CommandItemTemplate and use suitable CSS classes, for example:

<CommandItemTemplate> 
   <table style="width:100%" cellspacing="0"><tr><td
      <asp:Button ID="AddButton" runat="server" CommandName="InitInsert" CssClass="rgAdd" /> 
      <asp:LinkButton ID="AddHyperLink" runat="server" CommandName="InitInsert">Add New Record</asp:LinkButton> 
   </td></tr></table> 
</CommandItemTemplate> 
 


More information about CommandItemTemplates is available here:

http://www.telerik.com/help/radcontrols/aspnet-ajax/?grdCommandReference.html

http://www.telerik.com/demos/aspnet/prometheus/Grid/Examples/Programming/CommandItem/DefaultCS.aspx

Let us know if you need further advice.


Greetings,
Dimo
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
Anil Kumar Patra
Top achievements
Rank 2
answered on 23 Jan 2010, 12:48 PM
Hai i am also facing this problem,if u will get solution pls inform me.thank you in advance.
0
Anil Kumar Patra
Top achievements
Rank 2
answered on 25 Jan 2010, 05:29 AM
Hai Telerik,
                Sir i am using telerik Q1 2009 versions and i want to apply my custom skin in all radcontrols through css only.in my big project each and every control is working succesfully but in radgrid edit and delete button is not appered.For that i am tring from 3 day onwards.pls help me.I am not getting any solution for this problem.Pls Pls Pls help me.Thank you
0
Dimo
Telerik team
answered on 25 Jan 2010, 11:02 AM
Hi Anil,

Here is a forum post, which shows how to use EDIT and DELETE images with CSS sprites. You need to have GridButtonColumns with appropriate CSS classes set to the buttons.

http://www.telerik.com/community/forums/aspnet-ajax/grid/custom-skin-and-image-button.aspx#1063015

Best wishes,
Dimo
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Anil Kumar Patra
Top achievements
Rank 2
answered on 27 Jan 2010, 07:07 AM
Hai Telerik,
            Thank you for your reply,but if i will use ImagesPath of radgrid in .skin file then its ok for edit and delete buttons of grid.but all other images are also coming from same image folder and no css styles are reflected to other images(like Pager buttons,Filter buttons ,add and refresh buttons).Only i want to display edit and delete buttons of grid without changing of any design of my project.if i will use GridEditCommandColumn in .skin file then it takes another column in grid,again its create problem.i cant delete from .aspx page becoz of there is 700 forms in my big project. that snapshot of grid i attached in this file,pls see it and pls give me some suggestion, Its urgent to me.Thank you......
                    Yeah,like as EnableEmbeddedSkin, can i set the EditImageUrl property of GridEditCommandColumn and Button-CssClass for ButtonColumn in Web.config ?
0
Dimo
Telerik team
answered on 27 Jan 2010, 07:40 AM
Hi Anil,

You can set the edit/delete image URLs in an ASP.NET theme. Please review the attached demo. It also shows how to hide the edit/delete columns in PreRender if you don't need them in certain occasions.

All the best,
Dimo
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Anil Kumar Patra
Top achievements
Rank 2
answered on 27 Jan 2010, 08:04 AM
Hi Telerik,
        Thank you for ur reply,Yeah in this case one extra edit column is created and when i going to do some operation with grid then
multiple uniquename "editcolumn" error occurs ,so how to do ? I am already trying this code but some problem occurs...
0
Dimo
Telerik team
answered on 28 Jan 2010, 11:28 AM
Hi Anil,

As demonstrated in my demo, the edit and delete columns must be present in the ASP.NET theme's skin file only.

Greetings,
Dimo
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Anil Kumar Patra
Top achievements
Rank 2
answered on 29 Jan 2010, 09:41 AM
Hi Telerik,
                I am using Q1 2009 versions of Telerik,There some problem occurs in Radwindow.when i am using Q2 2008 then it appears perfectly but when i upgrading it to Q1 2009 then that radwindow was opened but the existing Controls with in the radwindow is not highlighting,that means suppose i am placed a grid with in window and when i opened that window is opened and also grid is appear with in window but thats appearing just a disable type,i can't do any operation with grid.So what's the problem with it,all other windows are opened perfectly but only that single window has problem.Sometimes also it opened perfectly and some time this problem occurs.So what should i do for this problem ? pls help me.Thank you
0
Dimo
Telerik team
answered on 29 Jan 2010, 10:58 AM
Hello Anil,

I am afraid we didn't understand what the problem is. Can you send us a runnable demo?

Generally, it is good to post questions about different problems in different forum threads. This makes tracking and answering issues easier. Thank you.

Regards,
Dimo
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Anil Kumar Patra
Top achievements
Rank 2
answered on 29 Jan 2010, 11:58 AM
Hi,
    I send u the runnable snapshot of radwindow as you told me,In this window the contents are not shown perfectly also unable to do operation with radwindow(Like Minimize,Maximize or close) and also operation with the controls which are with in radwindow.pls give me such suggestion to do it.Thank you
0
Dimo
Telerik team
answered on 03 Feb 2010, 03:33 PM
Dear Anil,

"Runnable" means something that we can run in Visual Studio locally. Your screenshot is not "runnable". Please provide a simple web project.

Greetings,
Dimo
the Telerik team

Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Follow the status of features or bugs in PITS and vote for them to affect their priority.
0
Anil Kumar Patra
Top achievements
Rank 2
answered on 19 Feb 2010, 04:56 AM
Yeah,I provide you both master page and content page as you say,in this case some time working perfectly but some times its inactive state(just before snapshot of radwindow-which was i send you) ,so what should i do for it ?pls help,Thank you.


code on masterpage:
---------------------------

 

<script type="text/javascript">

 

 

 

function onRadWindowShow(sender, arg)

 

{

sender.maximize(

 

true);

 

}

 

 

</script>

 

 

 

<asp:ScriptManager ID="ScriptManager1" runat="server">

 

 

 

</asp:ScriptManager>

 

 

 

<telerik:RadWindowManager ID="RadWindowManager1" Style="overflow: hidden;" runat="server"

 

 

 

Skin="Sunset" VisibleStatusbar="false" Modal="true"

 

 

 

KeepInScreenBounds="true" ShowContentDuringLoad="false" Behaviors="Pin,Minimize,Resize,Maximize,Close,Move" >

 

 

 

<Windows>

 

 

 

<telerik:RadWindow ID="rwnd_Maximize" runat="server" Behaviors="Maximize,Close,Resize,Minimize"

 

 

 

KeepInScreenBounds="true" Modal="true" ReloadOnShow="true" OnClientShow="onRadWindowShow"

 

 

 

ShowContentDuringLoad="false" Skin="Sunset" Style="overflow: hidden;" VisibleStatusbar="false">

 

 

 

</telerik:RadWindow>

 

 

</Window>
</telerik:RadWindowManager>


code on content page:
-----------------------------

<

 

asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">

 

 

 

<script type="text/javascript">

 

 

 

function openWin()

 

{

 

 

window.radopen("Default.aspx", "rwnd_Maximize");

 

 

 

}

 

 

 

 

</script>

 

 

 

 <asp:Button ID="Button1" runat="server" Text="RadWindow" OnClientClick="openWin(); return false" />

 

 

 

<asp:LinkButton ID="lnk" runat="server" Text="Window" OnClientClick="openWin(); return false"></asp:LinkButton>

 

</

 

 

asp:Content>

 



On this code snippet,if i will run  its working fine but if i will add animation="Slide" in radwindow manager then it happens inactive state.so pls see whats the problem in my code snippet.

 

0
Dimo
Telerik team
answered on 24 Feb 2010, 10:07 AM
Hi Anil,

I can't seem to reproduce the described problem with the provided code snippets. Here is my test page. Please modify it so that the issue is exhibited and send it back for further inspection. Thank you.

Also, please check whether you have some special positioning styles on the page or whether you have set some page content wrappers to be scrollable.


<%@ Page Language="C#" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<head runat="server">
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>RadControls</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
 
<script type="text/javascript">
 
function onRadWindowShow(sender, arg)
{
    sender.maximize(true);
}
 
</script>
 
<telerik:RadWindowManager ID="RadWindowManager1" Style="overflow: hidden;" runat="server"
    Skin="Sunset" VisibleStatusbar="false" Modal="true" KeepInScreenBounds="true" Animation="Slide"
    ShowContentDuringLoad="false" Behaviors="Pin,Minimize,Resize,Maximize,Close,Move">
    <Windows>
        <telerik:RadWindow ID="rwnd_Maximize" runat="server" Behaviors="Maximize,Close,Resize,Minimize"
            KeepInScreenBounds="true" Modal="true" ReloadOnShow="true" OnClientShow="onRadWindowShow"
            ShowContentDuringLoad="false" Skin="Sunset" Style="overflow: hidden;" VisibleStatusbar="false">
        </telerik:RadWindow>
    </Windows>
</telerik:RadWindowManager>
 
<script type="text/javascript">
 
function openWin()
{
    window.radopen("http://www.telerik.com/", "rwnd_Maximize");
}
 
</script>
  
<asp:Button ID="Button1" runat="server" Text="RadWindow" OnClientClick="openWin(); return false" />
<asp:LinkButton ID="lnk" runat="server" Text="Window" OnClientClick="openWin(); return false"></asp:LinkButton>
 
</form>
</body>
</html>



All the best,
Dimo
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Anil Kumar Patra
Top achievements
Rank 2
answered on 26 Feb 2010, 07:10 AM
Hai telerik,
            Thank you for ur co-operation and that's again raise some problem with ur given page also.but i got the window properly when i did modal="false".

Regards
Anil
0
Anil Kumar Patra
Top achievements
Rank 2
answered on 27 Feb 2010, 01:08 PM
Hai Telerik,
            I am designing a Menu using asp classic menu.its working perfectly.but now i want to design that menu using RadMenu only and i need the given design only which i send u in attach file.I did some modification in menu.css but i didn't get exact of that type.
when i will design the submenu items are not coming down exact of main menu,its coming just right side.so i wnat to do exact of previous design.is it possible to design with radmenu.if possible then how to do.pls help.
[also i dont want the back ground of main menu]
[This is very important to me,becoz i told to my team it is possible]
[when i did with radmenu second one is coming,so how to do,pls pls help me]


my css is:
-----------

/* <RadMenu / Sunset> */

.RadMenu_Sunset

 

.rmRootGroup,

 

.RadMenu_Sunset

 

.rmLink,

 

.RadMenu_Sunset

 

.rmText,

 

.RadMenu_Sunset

 

.rmLeftArrow,

 

.RadMenu_Sunset

 

.rmRightArrow,

 

.RadMenu_Sunset

 

.rmTopArrow,

 

.RadMenu_Sunset

 

.rmBottomArrow

 

{

 

background-image: url('Menu/rmSprite.gif');

 

 

background-color: transparent;

 

}

.RadMenu_Sunset

 

.rmRootGroup

 

{

 

border: 1px solid #cabaab;

 

 

background-repeat: repeat-x;

 

 

background-position: 0 0;

 

 

background-color: #e1dac7;

 

}

.RadMenu_Sunset

 

.rmVertical

 

{

 

/*background-position: 0 -408px;*/

 

}

/* <Root items> */

.RadMenu_Sunset

 

,

 

.RadMenu_Sunset

 

.rmLink

 

{

 

font: normal 12px/23px "Segoe UI", Arial, sans-serif;

 

 

color: #000000;

 

 

text-decoration: none;

 

}

.RadMenu_Sunset

 

.rmLink,

 

.RadMenu_Sunset

 

.rmText

 

{

 

background-position: 0 1050px;

 

 

background-repeat: no-repeat;

 

}

.RadMenu_Sunset

 

.rmLink:hover,

 

.RadMenu_Sunset

 

.rmFocused,

 

.RadMenu_Sunset

 

.rmSelected

 

{

 

color: #F27123;

 

 

/*background-position: 0 -72px;*/

 

}

.RadMenu_Sunset

 

.rmLink:hover .rmText,

 

.RadMenu_Sunset

 

.rmFocused .rmText,

 

.RadMenu_Sunset

 

.rmSelected .rmText

 

{

 

/*background-position: 100% -96px;*/

 

}

.RadMenu_Sunset

 

.rmExpanded,

 

.RadMenu_Sunset

 

.rmExpanded:hover

 

{

 

color:#F27123 ;

 

 

/*background-position: 0 -120px;*/

 

}

.RadMenu_Sunset

 

.rmExpanded .rmText,

 

.RadMenu_Sunset

 

.rmExpanded:hover .rmText

 

{

 

/*background-position: 100% -144px;*/

 

}

.RadMenu_Sunset

 

.rmDisabled,

 

.RadMenu_Sunset

 

.rmDisabled:hover

 

{

 

color: #919180;

 

}

.RadMenu_Sunset

 

.rmDisabled:hover,

 

.RadMenu_Sunset

 

.rmDisabled:hover .rmText

 

{

 

background: none;

 

}

/* </Root items> */

 

/* <Submenu items> */

.RadMenu_Sunset

 

.rmGroup,

 

.RadMenu_Sunset

 

.rmGroup .rmVertical

 

{

 

/*border: 1px solid #958a85;

 

background: #fff url('Menu/rmVSprite.png') repeat-y -1px 0;*/

}

.RadMenu_Sunset

 

.rmSlide .rmScrollWrap

 

{

 

background-image: none;

 

}

.RadMenu_Sunset_rtl

 

.rmGroup,

 

.RadMenu_Sunset_rtl

 

.rmGroup .rmVertical

 

{

 

background-position: 101% 0;*/

 

}

.RadMenu_Sunset

 

.rmRootGroup .rmHorizontal

 

{

 

background-image: none;

 

}

.RadMenu_Sunset

 

.rmScrollWrap .rmVertical

 

{

 

border: 0;

 

}

.RadMenu_Sunset

 

.rmGroup .rmFirst,

 

.RadMenu_Sunset

 

.rmGroup .rmLast

 

{

 

background: none;

 

}

.RadMenu_Sunset

 

.rmRootGroup li.rmItem .rmGroup

 

{

 

padding-bottom: 0;

 

}

.RadMenu_Sunset

 

.rmGroup li.rmLast

 

{

 

padding-bottom: 1px;

 

}

.RadMenu_Sunset

 

.rmGroup .rmLink:hover,

 

.RadMenu_Sunset

 

.rmGroup .rmFocused,

 

.RadMenu_Sunset

 

.rmGroup .rmSelected,

 

.RadMenu_Sunset

 

.rmGroup .rmExpanded

 

{

 

/*background-position: 0 -168px;*/

 

}

.RadMenu_Sunset

 

.rmGroup .rmLink:hover .rmText,

 

.RadMenu_Sunset

 

.rmGroup .rmFocused .rmText,

 

.RadMenu_Sunset

 

.rmGroup .rmSelected .rmText,

 

.RadMenu_Sunset

 

.rmGroup .rmExpanded .rmText

 

{

 

/*background-position: 100% -192px;*/

 

}

.RadMenu_Sunset

 

.rmGroup .rmExpanded,

 

.RadMenu_Sunset

 

.rmGroup .rmExpanded:hover

 

{

 

color: #F27123;

 

}

.RadMenu_Sunset

 

.rmGroup .rmDisabled,

 

.RadMenu_Sunset

 

.rmGroup .rmDisabled:hover

 

{

 

color: #919180;

 

}

/* <expand arrows> */

.RadMenu_Sunset

 

.rmGroup .rmExpandRight,

 

.RadMenu_Sunset

 

.rmGroup .rmExpandDown

 

{

 

background-position: 100% -216px;

 

}

.RadMenu_Sunset

 

.rmGroup .rmLink:hover .rmExpandRight,

 

.RadMenu_Sunset

 

.rmGroup .rmFocused .rmExpandRight,

 

.RadMenu_Sunset

 

.rmGroup .rmSelected .rmExpandRight,

 

.RadMenu_Sunset

 

.rmGroup .rmExpanded .rmExpandRight,

 

.RadMenu_Sunset

 

.rmGroup .rmLink:hover .rmExpandDown,

 

.RadMenu_Sunset

 

.rmGroup .rmSelected .rmExpandDown,

 

.RadMenu_Sunset

 

.rmGroup .rmExpanded .rmExpandDown

 

{

 

background-position: 100% -240px;

 

}

.RadMenu_Sunset

 

.rmGroup .rmDisabled:hover .rmExpandRight,

 

.RadMenu_Sunset

 

.rmGroup .rmDisabled:hover .rmExpandDown

 

{

 

/*background-image: url('Menu/rmSprite.gif');

 

background-position: 100% -216px;*/

}

/* </expand arrows> */

/* <rtl> */

.RadMenu_Sunset_rtl

 

.rmGroup .rmLink:hover,

 

.RadMenu_Sunset_rtl

 

.rmGroup .rmFocused,

 

.RadMenu_Sunset_rtl

 

.rmGroup .rmSelected,

 

.RadMenu_Sunset_rtl

 

.rmGroup .rmExpanded

 

{

 

background-position: 100% -264px;

 

}

.RadMenu_Sunset_rtl

 

.rmGroup .rmLink:hover .rmText,

 

.RadMenu_Sunset_rtl

 

.rmGroup .rmFocused .rmText,

 

.RadMenu_Sunset_rtl

 

.rmGroup .rmSelected .rmText,

 

.RadMenu_Sunset_rtl

 

.rmGroup .rmExpanded .rmText

 

{

 

background-position: 0 -288px;

 

}

.RadMenu_Sunset_rtl

 

.rmGroup .rmExpandLeft

 

{

 

background-position: 0 -312px;

 

}

.RadMenu_Sunset_rtl

 

.rmGroup .rmLink:hover .rmExpandLeft,

 

.RadMenu_Sunset_rtl

 

.rmGroup .rmFocused .rmExpandLeft,

 

.RadMenu_Sunset_rtl

 

.rmGroup .rmSelected .rmExpandLeft,

 

.RadMenu_Sunset_rtl

 

.rmGroup .rmExpanded .rmExpandLeft

 

{

 

background-position: 0 -336px;

 

}

/* </rtl> */

/* </Submenu items> */

/* <Submenu offsets (Sunset - specific, overlapping submenus)> */

.RadMenu_Sunset

 

.rmSlide

 

{

 

margin: -3px 0 0 3px;

 

}

.RadMenu_Sunset

 

.rmVertical .rmSlide,

 

.RadMenu_Sunset

 

.rmSlide .rmSlide,

 

.RadMenu_Sunset_Context

 

.rmGroup .rmSlide

 

{

 

margin: 0 0 0 -5px;

 

}

.RadMenu_Sunset_rtl

 

.rmSlide

 

{

 

margin: -3px 0 0 -3px;

 

}

.RadMenu_Sunset_rtl

 

.rmVertical .rmSlide,

 

.RadMenu_Sunset_rtl

 

.rmSlide .rmSlide,

 

.RadMenu_Sunset_Context_rtl

 

.rmGroup .rmSlide

 

{

 

margin: 0 0 0 5px;

 

}

/* </Submenu offsets> */

/* <Scrolling arrows> */

.RadMenu_Sunset

 

.rmLeftArrow,

 

.RadMenu_Sunset

 

.rmRightArrow,

 

.RadMenu_Sunset

 

.rmTopArrow,

 

.RadMenu_Sunset

 

.rmBottomArrow,

 

.RadMenu_Sunset

 

.rmGroup .rmLeftArrow,

 

.RadMenu_Sunset

 

.rmGroup .rmRightArrow

 

{

 

/*background-color: #f4eee6;*/

 

}

.RadMenu_Sunset

 

.rmLeftArrow { background-position: -8px -312px; border-right: 1px solid #cabaab; }

 

.RadMenu_Sunset

 

.rmRightArrow { background-position: -482px -216px; border-left: 1px solid #cabaab; }

 

.RadMenu_Sunset

 

.rmTopArrow { background-position: 50% -367px; border-bottom: 1px solid #cabaab; }

 

.RadMenu_Sunset

 

.rmBottomArrow {/* background-position: 50% -391px; border-top: 1px solid #cabaab; */}

 

/* </Scrolling arrows> */

/* <Separators> */

.RadMenu_Sunset

 

.rmVertical .rmSeparator .rmText,

 

.RadMenu_Sunset

 

.rmHorizontal .rmVertical .rmSeparator .rmText

 

{

 

/* background-position: 0 -406px; */

 

}

.RadMenu_Sunset

 

.rmHorizontal .rmSeparator .rmText,

 

.RadMenu_Sunset

 

.rmVertical .rmHorizontal .rmSeparator .rmText

 

{

 

/*background-position: 0 -386px; */

 

}

/* </Separators> */

/* </RadMenu / Sunset> */




Best Regards
Anil Kumar Patra
Thanking you
0
Kamen Bundev
Telerik team
answered on 04 Mar 2010, 12:05 PM
Hello Anil Kumar Patra,

I'm not sure about your exact requirement, but if you are asking if a menu like the one you show in dynamicradmenu.JPG is possible - then yes, such menu styling is possible with RadControls for ASP.NET AJAX. Check this help article for more information about how to style a custom skin (check also the other articles in the folder). You can also use our Visual Style Builder to colorize or directly create a custom skin.

Sincerely yours,
Kamen Bundev
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Anil Kumar Patra
Top achievements
Rank 2
answered on 05 Mar 2010, 04:05 AM
Hai Kamen,
             Thanks for ur reply.Yeah i solved that problem and i got exact as of before.


Thank you 
Anil           
Tags
General Discussions
Asked by
Guss
Top achievements
Rank 2
Answers by
Guss
Top achievements
Rank 2
Dimo
Telerik team
Anil Kumar Patra
Top achievements
Rank 2
Kamen Bundev
Telerik team
Share this question
or