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

FilterMenu-Skin="DOES NOT WORK"

9 Answers 85 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Michael
Top achievements
Rank 1
Michael asked on 30 Nov 2012, 04:16 PM
Hi,
We currently use a custom skin for our Grids and Menu's however, i would like to use the "Metro" Skin for the Grid Filter menu's but it seems the attributes provided do not work.

<telerik:RadGrid ID="rgCampaignSelect" runat="server" AllowPaging="True" PageSize="10" AllowSorting="true" AllowFilteringByColumn="true" EnableEmbeddedSkins="False" Skin="GatorLayout" FilterMenu-Skin="Metro" FilterMenu-EnableEmbeddedSkins="True">

The above doesnt set the Filter Menu Items skin to Metro, it stays as GatorLayout.  I then tell it to use Embedded Skins and it errors saying GatorLayout is not an embedded skin.

How can i fix this?

Thanks,
Michael

9 Answers, 1 is accepted

Sort by
0
Michael
Top achievements
Rank 1
answered on 03 Dec 2012, 11:45 AM
bump.
0
Eyup
Telerik team
answered on 05 Dec 2012, 09:29 AM
Hi Michael,

Try placing an invisible RadMenu with the desired Skin on the page:
<telerik:RadMenu ID="RadMenu1" runat="server" Skin="Black"></telerik:RadMenu>
Then set the mentioned property programmatically:
protected void Page_PreRenderComplete(object sender, EventArgs e)
{
    RadGrid1.FilterMenu.Skin = "Black";
}

I hope this will prove helpful. Please give it a try and let me know about the result.

Regards,
Eyup
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
aaron
Top achievements
Rank 1
answered on 05 Dec 2012, 10:28 AM
ignore please.
0
Michael
Top achievements
Rank 1
answered on 05 Dec 2012, 10:31 AM
This does seem to do the trick for an aspx page however, on a user control (ascx) the is no PreRenderComplete event.  I tried some of the other event but no luck.  Any ideas?

Thanks
Michael
0
Eyup
Telerik team
answered on 07 Dec 2012, 09:03 AM
Hello Michael,

In such case please try the following:
protected void Page_PreRenderComplete(object sender, EventArgs e)
{
    RadGrid grid = UserControl1.FindControl("RadGrid1") as RadGrid;
    grid.FilterMenu.Skin = "Black";
}

Looking forward to your reply when ready.

Regards,
Eyup
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
aaron
Top achievements
Rank 1
answered on 17 Dec 2012, 09:36 AM
Ok this is fine for a temporary measure but can there please be a bug filed for this.  The RadGrid should just accept what is passed to it in the attributes rather than ignoring it.

Also, because our current project uses user controls; we have had to loop through every control on the page to be able to get this working (as user control dont contain the events needed).  Our current way of doing it works but it would be much more efficient if a fix was put in on the Rad controls side.

Thanks,
Michael
0
Eyup
Telerik team
answered on 18 Dec 2012, 09:50 AM
Hello Michael,

I have forwarded your query to our developers and they responded that this is the default and expected behavior which depends on the grid rendering specifications. It simply overrides the defined Skin with its currently set runtime skin.

An alternative approach which will save you from using PreRenderComplete on every page is to set the following code snippet in the user control:
protected void Page_Init(object sender, EventArgs e)
{
    RadGrid1.FilterMenu.PreRender += (o, args) =>
    {
        RadGrid1.FilterMenu.Skin = "Black";
    };
}

That should do the trick. Please give it a try and let me know if it helps you.

Kind regards,
Eyup
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
aaron
Top achievements
Rank 1
answered on 18 Dec 2012, 10:32 AM
Erm, i am not sure how this cannot be a bug?  I set the below two attributes in the aspx page. The two attributes do not work.  You then gave me a work around by setting it in the RenderComplete or Init events.  This works however it doesn't negate the fact that the below two attributes do not work in the aspx page even though i can set them with no issues.

FilterMenu-Skin="Metro" 
FilterMenu-EnableEmbeddedSkins="True"




0
Eyup
Telerik team
answered on 20 Dec 2012, 10:30 AM
Hello Michael,

The mentioned properties are appearing in the properties collection of the grid since they are directly inherited from the context RadMenu control which serves as the filter menu. Unfortunately, they are applied too early in the grid's lifecycle and are being overwritten by the grid styling.

Thank you for your understanding and excuse us for any inconvenience caused.

Regards,
Eyup
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
Tags
Grid
Asked by
Michael
Top achievements
Rank 1
Answers by
Michael
Top achievements
Rank 1
Eyup
Telerik team
aaron
Top achievements
Rank 1
Share this question
or