Chase Florell
Top achievements
Rank 1
Chase Florell
asked on 10 Nov 2008, 03:12 AM
I have a GridTemplateColumn that can only be visible to specific roles within my system. My problems is that I cannot figure out to hide it... any help would be great.
| Protected Sub RadGrid1_ColumnCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridColumnCreatedEventArgs) Handles RadGrid1.ColumnCreated |
| If e.Column.UniqueName = "Edit" Then e.Column.Visible = False |
| End Sub 'RadGrid1_ColumnCreated |
5 Answers, 1 is accepted
0
Shinu
Top achievements
Rank 2
answered on 10 Nov 2008, 04:39 AM
Hi,
Try hiding the Template column in the Grid PreRender event as shown below.
CS:
Thanks
Shinu.
Try hiding the Template column in the Grid PreRender event as shown below.
CS:
| Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As EventArgs) |
| For Each col As GridColumn In RadGrid1.MasterTableView.RenderColumns |
| If (col.ColumnType & "GridTemplateColumn") AndAlso (col.UniqueName & "Edit") Then |
| col.Display = False |
| End If |
| Next |
| End Sub |
Thanks
Shinu.
0
Chase Florell
Top achievements
Rank 1
answered on 10 Nov 2008, 05:43 AM
Sorry no dice. If I use that code straight up I get error : 'GridTemplateColumn' is a type and cannot be used as an expression
If I remove (col.ColumnType = GridTemplateColumn) AndAlso
The column still appears in the form.
If I remove (col.ColumnType = GridTemplateColumn) AndAlso
The column still appears in the form.
0
Chase Florell
Top achievements
Rank 1
answered on 10 Nov 2008, 04:04 PM
Have you any other suggestions?
0
Accepted
Bob
Top achievements
Rank 1
answered on 10 Nov 2008, 07:00 PM
Chase, you pretty much had it right in the initial sample you posted.
| If TypeOf e.Column Is GridBoundColumn Then |
| If e.Column.UniqueName = "Edit" Then e.Column.Visible = False |
| End If |
Ought to do it for you.
I'm actually working on the same type of stuff right now.
My entire code is:
| Sub gridEvil_ColumnCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridColumnCreatedEventArgs) Handles gridEvil.ColumnCreated |
| If TypeOf e.Column Is GridBoundColumn Then |
| Dim col As GridBoundColumn = DirectCast(e.Column, GridBoundColumn) |
| If col.UniqueName = "MealPeriodID" Then |
| col.Visible = False |
| End If |
| End If |
| End Sub |
Yes, called mine gridEvil. It's gonna be...... :-(
0
Chase Florell
Top achievements
Rank 1
answered on 10 Nov 2008, 07:35 PM
Awesome thanks, This seems to have done it for me.
| Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGrid1.PreRender |
| For Each col As GridColumn In RadGrid1.MasterTableView.RenderColumns |
| If col.UniqueName = "Edit" Then |
| If (Page.User.IsInRole("Business Trader Advanced")) Or (Page.User.IsInRole("Business Trader Administrator")) Then |
| col.Display = True |
| Else |
| col.Display = False |
| End If |
| End If |
| Next |
| End Sub |