Hiding a field in a repeater

J

JJ297

I want to hide the Pin field below in my repeater. How do I do this?

<asp:Repeater ID="Repeater1" runat="server"
DataSourceID="SqlDataSource1">

<ItemTemplate>
<tr>
<td><font color="#330099">Claim SSN: </font><b><%#
Eval("ClaimSSN") %></b></td>
<td colspan="2"></td>
<td><font color="#330099">BIC: </font><b><%# Eval("BIC") %></
b></td>

<td colspan="2"></td>

<td colspan="2"><font color="#330099">BIC SSN: </font><b><%#
Eval("BICSSN") %></b></td>

<tr></tr>
<td colspan="7"></td>

<td colspan="7"><font color="#330099">Status Code: </font><b><
%# Eval("StatusCode")%></b></td>

<td><label runat="server" id="lbl"><font color="#330099">Pin:
</font><b><%#Eval("Pin")%></label></b></tr>
</ItemTemplate>
<SeparatorTemplate>
<tr>
<td colspan="100%"><hr size="1" color=#330099 /><br />

</td>
</tr>
</SeparatorTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
 
G

George Ter-Saakov

By hiding what exactly you mean???

Do it like <!--<%#Eval("Pin")%>--> and it will be hidden in a browser....

Or how about not to have <%#Eval("Pin")%> at all? It will be really hidden
then :)

George.
 
J

JJ297

By hiding what exactly you mean???

Do it like <!--<%#Eval("Pin")%>--> and it will be hidden in a browser....

Or how about not to have <%#Eval("Pin")%> at all? It will be really hidden
then :)

George.














- Show quoted text -

I want to put security on the page if the person has manager rights
they will have the Pin field visible.

So I will put something like:

If Session(CSI) = true then

the pin field is visible

else

the pin field in not visible

I hope that makes sense
I want the Pin field
 
G

George Ter-Saakov

I see it now....
The best way to do is following....
in your code on the page make a function (C# example, but you should not
have a problem to convert it to VB.NET)

protected string GetPin(string sPin)
{
if( _iLevel > 1 )
return sPin;
else
return "******";
}


in your aspx page instead of
<%#Eval("Pin")%>
have something like
<%# GetPin((string)DataBinder.Eval(Container.DataItem, "Pin"))%>


Remember, Eval is the function and you always can create your own
version.....


George.








By hiding what exactly you mean???

Do it like <!--<%#Eval("Pin")%>--> and it will be hidden in a browser....

Or how about not to have <%#Eval("Pin")%> at all? It will be really hidden
then :)

George.














- Show quoted text -

I want to put security on the page if the person has manager rights
they will have the Pin field visible.

So I will put something like:

If Session(CSI) = true then

the pin field is visible

else

the pin field in not visible

I hope that makes sense
I want the Pin field
 
J

JJ297

I see it now....
The best way to do is following....
in your code on the page make a function (C# example, but you should not
have a problem to convert it to VB.NET)

protected string GetPin(string sPin)
{
    if( _iLevel > 1 )
        return sPin;
    else
        return "******";

}

in your aspx page instead of
<%#Eval("Pin")%>
have something like
<%# GetPin((string)DataBinder.Eval(Container.DataItem, "Pin"))%>

Remember,  Eval is the function and you always can create your own
version.....

George.







I want to put security on the page if the person has manager rights
they will have the Pin field visible.

So I will put something like:

If Session(CSI) = true then

the pin field is visible

else

the pin field in not visible

I hope that makes sense
I want the Pin field- Hide quoted text -

- Show quoted text -

A little confused... like this:

Function getPin(ByVal sPin)


If Session(CSI) = True Then
Return sPin.visible = False

End If
End Function
 
G

George Ter-Saakov

The idea to output to browser Pin or nothing to the user if he does not have
permissions. It's a little different aproach than just hiding this column
which is in HTML word might be prefered way.

so in C# code it will be
protected string GetPin(string sPin)
{
if (Session("CSI") == true)
return sPin
else
return "&nbsp;" //or anything you want
}


And on your page you have

<%# GetPin((string)DataBinder.Eval(Container.DataItem, "Pin"))%>

This line will call your GetPin for every row and output sPin or &nbsp;
depends on what is in Session("CSI")




George.

I see it now....
The best way to do is following....
in your code on the page make a function (C# example, but you should not
have a problem to convert it to VB.NET)

protected string GetPin(string sPin)
{
if( _iLevel > 1 )
return sPin;
else
return "******";

}

in your aspx page instead of
<%#Eval("Pin")%>
have something like
<%# GetPin((string)DataBinder.Eval(Container.DataItem, "Pin"))%>

Remember, Eval is the function and you always can create your own
version.....

George.







I want to put security on the page if the person has manager rights
they will have the Pin field visible.

So I will put something like:

If Session(CSI) = true then

the pin field is visible

else

the pin field in not visible

I hope that makes sense
I want the Pin field- Hide quoted text -

- Show quoted text -

A little confused... like this:

Function getPin(ByVal sPin)


If Session(CSI) = True Then
Return sPin.visible = False

End If
End Function
 
J

JJ297

The idea to output to browser Pin or nothing to the user if he does not have
permissions. It's a little different aproach than just hiding this column
which is in HTML word might be prefered way.

so in C# code it will be
protected string GetPin(string sPin)
{
        if (Session("CSI") == true)
            return sPin
        else
            return "&nbsp;" //or anything you want

}

And on your page you have

<%# GetPin((string)DataBinder.Eval(Container.DataItem, "Pin"))%>

This line will call your GetPin for every row and output sPin or &nbsp;
depends on what is in Session("CSI")

George.













A little confused... like this:

Function getPin(ByVal sPin)

        If Session(CSI) = True Then
            Return sPin.visible = False

        End If
    End Function- Hide quoted text -

- Show quoted text -

Thanks George:

Here's my function:

Function getPin(ByVal sPin)


If Session("SPSListings") = True Then
Return sPin
Else
Return "you have no access"

End If


End Function

Then on the aspx page I have this but I'm getting Container is not
declared. Any suggestions?

<font color="#330099">Pin: </font><b><
%getPin(DataBinder.Eval(Container.DataItem, "Pin"))%></td></b></tr>
 
J

JJ297

Thanks George:

Here's my function:

 Function getPin(ByVal sPin)

        If Session("SPSListings") = True Then
            Return sPin
        Else
            Return "you have no access"

        End If

    End Function

Then on the aspx page I have this but I'm getting Container is not
declared.  Any suggestions?

<font color="#330099">Pin: </font><b><
%getPin(DataBinder.Eval(Container.DataItem, "Pin"))%></td></b></tr>- Hide quoted text -

- Show quoted text -

George I got it I left out the # in front of the GetPin. Thanks.

Another question for you. I have this in the function:
If Session("SPSListings") = True Then
Return sPin
Else
Return "you have no access"

End If

How can I get rid of the Pin column all together if the user doesn't
have access instead of returning "You have no Access" Can I make that
column visiable = false?
 
G

George Ter-Saakov

It's cause you missing #
Must be
<%# getPin(DataBinder.Eval(Container.DataItem, "Pin"))%>
----------------------------------------------------
Nothing is changed comparing
to <%#Eval("Pin")%>

The Eval("Pin") method is exactly same thing as
DataBinder.Eval(Container.DataItem, "Pin"))
It returns string during binding time... We just plugde getPing in between
to analyse permission and modify the string...

PS:
Also since getPin is called for every row it makes sence to move
Session("CSI") out of the loop (it's a look up in a hashtable done for every
row)..

So in your Page create member variable _bCSI = false and in OnLoad event
assign it _bCSI = (bool)Session("CSI") (sorry C# again)
the in getPin do If( _bCSI = True) ...... Saves a little of runtime....






George.


The idea to output to browser Pin or nothing to the user if he does not
have
permissions. It's a little different aproach than just hiding this column
which is in HTML word might be prefered way.

so in C# code it will be
protected string GetPin(string sPin)
{
if (Session("CSI") == true)
return sPin
else
return "&nbsp;" //or anything you want

}

And on your page you have

<%# GetPin((string)DataBinder.Eval(Container.DataItem, "Pin"))%>

This line will call your GetPin for every row and output sPin or &nbsp;
depends on what is in Session("CSI")

George.













A little confused... like this:

Function getPin(ByVal sPin)

If Session(CSI) = True Then
Return sPin.visible = False

End If
End Function- Hide quoted text -

- Show quoted text -

Thanks George:

Here's my function:

Function getPin(ByVal sPin)


If Session("SPSListings") = True Then
Return sPin
Else
Return "you have no access"

End If


End Function

Then on the aspx page I have this but I'm getting Container is not
declared. Any suggestions?

<font color="#330099">Pin: </font><b><
%getPin(DataBinder.Eval(Container.DataItem, "Pin"))%></td></b></tr>
 
J

JJ297

It's cause you missing #
Must be
<%# getPin(DataBinder.Eval(Container.DataItem, "Pin"))%>
----------------------------------------------------
Nothing is changed comparing
to <%#Eval("Pin")%>

The Eval("Pin") method is exactly same thing as
DataBinder.Eval(Container.DataItem, "Pin"))
It returns string during binding time... We just plugde getPing in between
to analyse permission and modify the string...

PS:
Also since getPin is called for every row it makes sence to move
Session("CSI") out of the loop (it's a look up in a hashtable done for every
row)..

So in your Page  create member variable _bCSI = false and in OnLoad event
assign it _bCSI = (bool)Session("CSI") (sorry C# again)
the in getPin do If( _bCSI = True) ...... Saves a little of runtime....

George.













Thanks George:

Here's my function:

 Function getPin(ByVal sPin)

        If Session("SPSListings") = True Then
            Return sPin
        Else
            Return "you have no access"

        End If

    End Function

Then on the aspx page I have this but I'm getting Container is not
declared.  Any suggestions?

<font color="#330099">Pin: </font><b><
%getPin(DataBinder.Eval(Container.DataItem, "Pin"))%></td></b></tr>- Hide quoted text -

- Show quoted text -

Okay don't quite understand what you want me to do. I added this to
page load:

Dim _bCSI=(bool)Session("CSI")

Getting error message end of statement expected

Then added this:

Function getPin(ByVal sPin)

If (_BCSI = True) Then

Return "you have no access"

End If


End Function

Getting _BCSI is not declared. Any suggestions? Thanks
 
G

George Ter-Saakov

You can not do it like that...
When you added Dim _bCSI=(bool)Session("CSI") to page_load you created local
variable that is only available in page_load
mast be something like

class clsMyPage
{
Dim _bCSI as Boolean
...Page_Load...
{
_bCSI=(bool)Session("CSI")
}

Function getPin(ByVal sPin)

If (_bCSI = True) Then

Return "you have no access"

End If


End Function

}



It's cause you missing #
Must be
<%# getPin(DataBinder.Eval(Container.DataItem, "Pin"))%>
----------------------------------------------------
Nothing is changed comparing
to <%#Eval("Pin")%>

The Eval("Pin") method is exactly same thing as
DataBinder.Eval(Container.DataItem, "Pin"))
It returns string during binding time... We just plugde getPing in between
to analyse permission and modify the string...

PS:
Also since getPin is called for every row it makes sence to move
Session("CSI") out of the loop (it's a look up in a hashtable done for
every
row)..

So in your Page create member variable _bCSI = false and in OnLoad event
assign it _bCSI = (bool)Session("CSI") (sorry C# again)
the in getPin do If( _bCSI = True) ...... Saves a little of runtime....

George.













Thanks George:

Here's my function:

Function getPin(ByVal sPin)

If Session("SPSListings") = True Then
Return sPin
Else
Return "you have no access"

End If

End Function

Then on the aspx page I have this but I'm getting Container is not
declared. Any suggestions?

<font color="#330099">Pin: </font><b><
%getPin(DataBinder.Eval(Container.DataItem, "Pin"))%></td></b></tr>- Hide
quoted text -

- Show quoted text -

Okay don't quite understand what you want me to do. I added this to
page load:

Dim _bCSI=(bool)Session("CSI")

Getting error message end of statement expected

Then added this:

Function getPin(ByVal sPin)

If (_BCSI = True) Then

Return "you have no access"

End If


End Function

Getting _BCSI is not declared. Any suggestions? Thanks
 
G

George Ter-Saakov

You can by doing
Repeater1.Items[0].Visible = false;
It will hide first column in repeater..

George,.



Thanks George:

Here's my function:

Function getPin(ByVal sPin)

If Session("SPSListings") = True Then
Return sPin
Else
Return "you have no access"

End If

End Function

Then on the aspx page I have this but I'm getting Container is not
declared. Any suggestions?

<font color="#330099">Pin: </font><b><
%getPin(DataBinder.Eval(Container.DataItem, "Pin"))%></td></b></tr>- Hide
quoted text -

- Show quoted text -

George I got it I left out the # in front of the GetPin. Thanks.

Another question for you. I have this in the function:
If Session("SPSListings") = True Then
Return sPin
Else
Return "you have no access"

End If

How can I get rid of the Pin column all together if the user doesn't
have access instead of returning "You have no Access" Can I make that
column visiable = false?
 
J

JJ297

You can by doing
Repeater1.Items[0].Visible = false;
It will hide first column in repeater..

George,.


Thanks George:
Here's my function:
Function getPin(ByVal sPin)
If Session("SPSListings") = True Then
Return sPin
Else
Return "you have no access"
End Function
Then on the aspx page I have this but I'm getting Container is not
declared. Any suggestions?
<font color="#330099">Pin: </font><b><
%getPin(DataBinder.Eval(Container.DataItem, "Pin"))%></td></b></tr>- Hide
quoted text -
- Show quoted text -

George I got it I left out the # in front of the GetPin.  Thanks.

Another question for you.  I have this in the function:
 If Session("SPSListings") = True Then
            Return sPin
        Else
            Return "you have no access"

        End If

How can I get rid of the Pin column all together if the user doesn't
have access instead of returning "You have no Access"  Can I make that
column visiable = false?- Hide quoted text -

- Show quoted text -

Okay I added this:

Function getPin(ByVal sPin)

If Session("SPSListings") = True Then
Return sPin
Else
Return Repeater1.Items(8).Visible = False

End If

End Function

But now getting this...Index was out of range. Must be non-negative
and less than the size of the collection.
Parameter name: index
 
G

George Ter-Saakov

You are completely confused....
chose one method or another.

If you just want to hide the column with PIN then in OnLoad event do
Repeater1.Items(8).Visible = False
(column enumeration starts with 0, so it's 0,1,2,.... So Item(8).Visible =
false will hide 9th column)

If you want to show something like "no permissions" then go with a getPin
method...

But you can not do both....

George.





You can by doing
Repeater1.Items[0].Visible = false;
It will hide first column in repeater..

George,.


Thanks George:
Here's my function:
Function getPin(ByVal sPin)
If Session("SPSListings") = True Then
Return sPin
Else
Return "you have no access"
End Function
Then on the aspx page I have this but I'm getting Container is not
declared. Any suggestions?
<font color="#330099">Pin: </font><b><
%getPin(DataBinder.Eval(Container.DataItem, "Pin"))%></td></b></tr>-
Hide
quoted text -
- Show quoted text -

George I got it I left out the # in front of the GetPin. Thanks.

Another question for you. I have this in the function:
If Session("SPSListings") = True Then
Return sPin
Else
Return "you have no access"

End If

How can I get rid of the Pin column all together if the user doesn't
have access instead of returning "You have no Access" Can I make that
column visiable = false?- Hide quoted text -

- Show quoted text -

Okay I added this:

Function getPin(ByVal sPin)

If Session("SPSListings") = True Then
Return sPin
Else
Return Repeater1.Items(8).Visible = False

End If

End Function

But now getting this...Index was out of range. Must be non-negative
and less than the size of the collection.
Parameter name: index
 
J

JJ297

You are completely confused....
chose one method or another.

If you just want to hide the column with PIN then in OnLoad event do
Repeater1.Items(8).Visible = False
(column enumeration starts with 0, so it's 0,1,2,.... So Item(8).Visible =
false will hide 9th column)

If you want to show something like "no permissions" then go with a getPin
method...

But you can not do both....

George.


You can by doing
Repeater1.Items[0].Visible = false;
It will hide first column in repeater..

"JJ297" <[email protected]> wrote in message
George I got it I left out the # in front of the GetPin. Thanks.
Another question for you. I have this in the function:
If Session("SPSListings") = True Then
Return sPin
Else
Return "you have no access"
How can I get rid of the Pin column all together if the user doesn't
have access instead of returning "You have no Access" Can I make that
column visiable = false?- Hide quoted text -
- Show quoted text -

Okay I added this:

 Function getPin(ByVal sPin)

        If Session("SPSListings") = True Then
            Return sPin
        Else
            Return Repeater1.Items(8).Visible = False

        End If

    End Function

But now getting this...Index was out of range. Must be non-negative
and less than the size of the collection.
Parameter name: index- Hide quoted text -

- Show quoted text -

Okay I got it I need the "no permissions" so I'm going with GetPin.

Thanks for all of your help!!!!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,905
Latest member
Kristy_Poole

Latest Threads

Top