Go Back   Velocity Reviews > Newsgroups > ASP Net
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

ASP Net - choosing to display or not to display a checkbox in repeater control.

 
Thread Tools Search this Thread
Old 08-11-2005, 08:43 AM   #1
Default choosing to display or not to display a checkbox in repeater control.


Hello All,
I display a list of entries with a checkbox against them using a
repeater control bound to a database table. Based on the value of database
table I want to either show the checkbox for a row or not to show, how do I
accomplish that using a repeater control ?
Should I do something like this

<%if (((DataRowView)Container.DataItem)["bThisUserHasIt"] == 0)

{ %><asp:CheckBox ID="chkBookMarkID" text='<%#
((DataRowView)Container.DataItem)["nBookMarkID"] %>' runat="server"
ForeColor="White" Font-Size="1px" /<%} %>


(this one does not work , but I am thinking it might be possible to do it
like that, get this error, Error 2 The name 'Container' does not exist in
the current context
C:\Inetpub\wwwroot\allenandovery\bookmarks\recentb ookmarks.aspx 24 35
C:\...\allenandovery\
)

or is there a better way to do it, checking and specifying the value in code
behind?


Thanks a lot for your support.
Imran.





Imran Aziz
  Reply With Quote
Old 08-11-2005, 10:00 AM   #2
Arjen
 
Posts: n/a
Default Re: choosing to display or not to display a checkbox in repeater control.

Add your checkbox with the visable attribute like this:

visable='<# ((DataRowView)Container.DataItem["bThisUserHasIt"] ==
0)?"true":"false"'

Hope this helps,
Arjen


"Imran Aziz" <> schreef in bericht
news:...
> Hello All,
> I display a list of entries with a checkbox against them using a
> repeater control bound to a database table. Based on the value of database
> table I want to either show the checkbox for a row or not to show, how do
> I
> accomplish that using a repeater control ?
> Should I do something like this
>
> <%if (((DataRowView)Container.DataItem)["bThisUserHasIt"] == 0)
>
> { %><asp:CheckBox ID="chkBookMarkID" text='<%#
> ((DataRowView)Container.DataItem)["nBookMarkID"] %>' runat="server"
> ForeColor="White" Font-Size="1px" /<%} %>
>
>
> (this one does not work , but I am thinking it might be possible to do it
> like that, get this error, Error 2 The name 'Container' does not exist in
> the current context
> C:\Inetpub\wwwroot\allenandovery\bookmarks\recentb ookmarks.aspx 24 35
> C:\...\allenandovery\
> )
>
> or is there a better way to do it, checking and specifying the value in
> code
> behind?
>
>
> Thanks a lot for your support.
> Imran.
>
>
>



  Reply With Quote
Old 08-11-2005, 10:13 AM   #3
Grant Merwitz
 
Posts: n/a
Default Re: choosing to display or not to display a checkbox in repeater control.

The method you are trying will work with the right syntax

But i prefer to push the functionality to the code behind leaving as much
logic out of the UI as possible.

This can be done calling a method that does the functionality you've written
there,

or what i more prefer - using the ItemDataBound event

DataLists, Grids and Repeaters all have a OnItemDataBound event, where item
by item you can perform some processing.
In this case, you can determine - item by item - whether to show or hide
your checkbox.

Just ensure in that ItemDataBound event, you are checking that your not in
the header or footer.
do a check like
private void DataList_OnItemDataBound(System.Object sender,
DataItemEventArgs e)
{
if(e.Item.ItemTemplate != ItemTemplate.Header && e.Item.ItemTemplate
!= ItemTemplate.Footer)
{
//Do you logic to remove checkbox here
}
}

HTH

"Imran Aziz" <> wrote in message
news:...
> Hello All,
> I display a list of entries with a checkbox against them using a
> repeater control bound to a database table. Based on the value of database
> table I want to either show the checkbox for a row or not to show, how do
> I
> accomplish that using a repeater control ?
> Should I do something like this
>
> <%if (((DataRowView)Container.DataItem)["bThisUserHasIt"] == 0)
>
> { %><asp:CheckBox ID="chkBookMarkID" text='<%#
> ((DataRowView)Container.DataItem)["nBookMarkID"] %>' runat="server"
> ForeColor="White" Font-Size="1px" /<%} %>
>
>
> (this one does not work , but I am thinking it might be possible to do it
> like that, get this error, Error 2 The name 'Container' does not exist in
> the current context
> C:\Inetpub\wwwroot\allenandovery\bookmarks\recentb ookmarks.aspx 24 35
> C:\...\allenandovery\
> )
>
> or is there a better way to do it, checking and specifying the value in
> code
> behind?
>
>
> Thanks a lot for your support.
> Imran.
>
>
>



  Reply With Quote
Old 08-11-2005, 04:59 PM   #4
Imran Aziz
 
Posts: n/a
Default Re: choosing to display or not to display a checkbox in repeater control.

understood thanks a lot Grant
Imran
"Grant Merwitz" <> wrote in message
news:e$...
> The method you are trying will work with the right syntax
>
> But i prefer to push the functionality to the code behind leaving as much
> logic out of the UI as possible.
>
> This can be done calling a method that does the functionality you've
> written there,
>
> or what i more prefer - using the ItemDataBound event
>
> DataLists, Grids and Repeaters all have a OnItemDataBound event, where
> item by item you can perform some processing.
> In this case, you can determine - item by item - whether to show or hide
> your checkbox.
>
> Just ensure in that ItemDataBound event, you are checking that your not in
> the header or footer.
> do a check like
> private void DataList_OnItemDataBound(System.Object sender,
> DataItemEventArgs e)
> {
> if(e.Item.ItemTemplate != ItemTemplate.Header &&
> e.Item.ItemTemplate != ItemTemplate.Footer)
> {
> //Do you logic to remove checkbox here
> }
> }
>
> HTH
>
> "Imran Aziz" <> wrote in message
> news:...
>> Hello All,
>> I display a list of entries with a checkbox against them using a
>> repeater control bound to a database table. Based on the value of
>> database
>> table I want to either show the checkbox for a row or not to show, how do
>> I
>> accomplish that using a repeater control ?
>> Should I do something like this
>>
>> <%if (((DataRowView)Container.DataItem)["bThisUserHasIt"] == 0)
>>
>> { %><asp:CheckBox ID="chkBookMarkID" text='<%#
>> ((DataRowView)Container.DataItem)["nBookMarkID"] %>' runat="server"
>> ForeColor="White" Font-Size="1px" /<%} %>
>>
>>
>> (this one does not work , but I am thinking it might be possible to do it
>> like that, get this error, Error 2 The name 'Container' does not exist in
>> the current context
>> C:\Inetpub\wwwroot\allenandovery\bookmarks\recentb ookmarks.aspx 24 35
>> C:\...\allenandovery\
>> )
>>
>> or is there a better way to do it, checking and specifying the value in
>> code
>> behind?
>>
>>
>> Thanks a lot for your support.
>> Imran.
>>
>>
>>

>
>



  Reply With Quote
Old 08-11-2005, 05:00 PM   #5
Imran Aziz
 
Posts: n/a
Default Re: choosing to display or not to display a checkbox in repeater control.

Thanks Arjen this is a quick solution and works great !
Imran.

"Arjen" <> wrote in message
news:ddf7je$nce$...
> Add your checkbox with the visable attribute like this:
>
> visable='<# ((DataRowView)Container.DataItem["bThisUserHasIt"] ==
> 0)?"true":"false"'
>
> Hope this helps,
> Arjen
>
>
> "Imran Aziz" <> schreef in bericht
> news:...
>> Hello All,
>> I display a list of entries with a checkbox against them using a
>> repeater control bound to a database table. Based on the value of
>> database
>> table I want to either show the checkbox for a row or not to show, how do
>> I
>> accomplish that using a repeater control ?
>> Should I do something like this
>>
>> <%if (((DataRowView)Container.DataItem)["bThisUserHasIt"] == 0)
>>
>> { %><asp:CheckBox ID="chkBookMarkID" text='<%#
>> ((DataRowView)Container.DataItem)["nBookMarkID"] %>' runat="server"
>> ForeColor="White" Font-Size="1px" /<%} %>
>>
>>
>> (this one does not work , but I am thinking it might be possible to do it
>> like that, get this error, Error 2 The name 'Container' does not exist in
>> the current context
>> C:\Inetpub\wwwroot\allenandovery\bookmarks\recentb ookmarks.aspx 24 35
>> C:\...\allenandovery\
>> )
>>
>> or is there a better way to do it, checking and specifying the value in
>> code
>> behind?
>>
>>
>> Thanks a lot for your support.
>> Imran.
>>
>>
>>

>
>



  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump