Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / April 2008

Tip: Looking for answers? Try searching our database.

Hiding a field in a repeater

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
JJ297 - 31 Mar 2008 19:48 GMT
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>
George Ter-Saakov - 31 Mar 2008 19:52 GMT
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.

>I want to hide the Pin field below in my repeater.  How do I do this?
>
[quoted text clipped - 34 lines]
>        </FooterTemplate>
>        </asp:Repeater>
JJ297 - 31 Mar 2008 20:13 GMT
> By hiding what exactly you mean???
>
[quoted text clipped - 45 lines]
>
> - 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
George Ter-Saakov - 31 Mar 2008 20:33 GMT
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.

On Mar 31, 2:52 pm, "George Ter-Saakov" <gt-...@cardone.com> wrote:
> By hiding what exactly you mean???
>
[quoted text clipped - 49 lines]
>
> - 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
JJ297 - 31 Mar 2008 20:58 GMT
> I see it now....
> The best way to do is following....
[quoted text clipped - 93 lines]
>
> - 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
George Ter-Saakov - 01 Apr 2008 12:57 GMT
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.

On Mar 31, 3:33 pm, "George Ter-Saakov" <gt-...@cardone.com> wrote:
> I see it now....
> The best way to do is following....
[quoted text clipped - 97 lines]
>
> - 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
JJ297 - 01 Apr 2008 15:58 GMT
> 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
[quoted text clipped - 134 lines]
>
> - 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>
JJ297 - 01 Apr 2008 16:06 GMT
> > 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
[quoted text clipped - 160 lines]
>
> - 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?
George Ter-Saakov - 01 Apr 2008 17:40 GMT
You can by doing
Repeater1.Items[0].Visible = false;
It will hide first column in repeater..

George,.

> On Apr 1, 7:57 am, "George Ter-Saakov" <gt-...@cardone.com> wrote:
>
[quoted text clipped - 167 lines]
>
> - 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?
JJ297 - 02 Apr 2008 15:24 GMT
> You can by doing
> Repeater1.Items[0].Visible = false;
[quoted text clipped - 189 lines]
>
> - 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
George Ter-Saakov - 02 Apr 2008 15:41 GMT
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.

On Apr 1, 12:40 pm, "George Ter-Saakov" <gt-...@cardone.com> wrote:
> You can by doing
> Repeater1.Items[0].Visible = false;
[quoted text clipped - 197 lines]
>
> - 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
JJ297 - 02 Apr 2008 16:58 GMT
> You are completely confused....
> chose one method or another.
[quoted text clipped - 233 lines]
>
> - Show quoted text -

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

Thanks for all of your help!!!!
George Ter-Saakov - 01 Apr 2008 16:18 GMT
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.

On Apr 1, 7:57 am, "George Ter-Saakov" <gt-...@cardone.com> wrote:
> The idea to output to browser Pin or nothing to the user if he does not
> have
[quoted text clipped - 138 lines]
>
> - 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>
JJ297 - 01 Apr 2008 17:14 GMT
> It's cause you missing #
> Must be
[quoted text clipped - 186 lines]
>
> - 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
George Ter-Saakov - 01 Apr 2008 17:37 GMT
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

}

On Apr 1, 11:18 am, "George Ter-Saakov" <gt-...@cardone.com> wrote:
> It's cause you missing #
> Must be
[quoted text clipped - 193 lines]
>
> - 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

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.