![]() |
|
|
|||||||
![]() |
ASP Net - choosing to display or not to display a checkbox in repeater control. |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
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 |
|
|
|
|
#2 |
|
Posts: n/a
|
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. > > > Arjen |
|
|
|
#3 |
|
Posts: n/a
|
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. > > > Grant Merwitz |
|
|
|
#4 |
|
Posts: n/a
|
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. >> >> >> > > Imran Aziz |
|
|
|
#5 |
|
Posts: n/a
|
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. >> >> >> > > Imran Aziz |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| want to display .chm in browser control of ASP.NET 2.0 | pratibhaskhaire | General Help Related Topics | 0 | 02-14-2008 06:23 AM |
| Mind Control and CIA'S BOURNE IDENTITY PLOT | soleilmavis@gmail.com | DVD Video | 2 | 08-03-2007 09:54 PM |