Forms Data Controls :: .NET C# Show Only Three Items In XML Repeater?
Apr 13, 2010
I have an xml repeater deployed on two different pages. On the "News" page, I'd like to show all the items (which works fine), but on the "Home" page I'd only like to display the three most recent items.The code I'm using is below.
what changed do I need to make to my code for it to achieve what I'm after.
At the moment I am getting a "cannot cast to type" error message with the below code.
I have also tried calling the ItemDataBound method in with the parent repeater tags and had no errors but when I clicked on the button it would just move back to the top of the page and would not hide or show any data. Also I have made the div style to none but the first record still shows its child but the rest don't.
I've read that you should write repeaterControl.DataSource = null to clear the items in the control, but it doesn't work. Does anyone have any tips or links to articles about this problem?
Here is the situation I have, I have a repeater inside a Usercontrol. The datasource is a IEnumerable<Investor> Exposed through a UserControl's Property. I have overridden the UserControl's databind event to set the Repeater Datasource before databinding the repeater. When it's not a postback, it databinds find and the events on the repeater item's controls fires up fine. But there is one event on repeater items (Delete Investor) which call back the DataBind of the UserControl after removing the Investor from de datasource. When this Event is called, it does all the work (deleting the investor and so on...) calls back the usercontrol's databind but when (within the usercontrol databind) the repeater is databinded again, the repeater items doesn't update (repeater items for investor not on the DataSource anymore still appears). My ItemDataBind doesn't even fire by then.
[Code]....
and code bedind
[Code]....
I Tried with both the Repeater Item Command and each LinkButton Event to see if it would make any difference, but none worked
I am currently in the process of writing a facebook type 'activity feed' for a site. Currently I am binding the last 10 items to a repeater control, which contains a usercontrol representing each item. The requirement is that when a user clicks a refresh button any new events are added to the top of the list, the previous items drop down and the equivalent number of old items drop off the bottom, all with nice slider transitions. I have put the repeater inside of an update control and are able to handle the transitions by using RegisterStartup script to drop jquery calls onto the page for the slider. However I cannot find a way to dynamically add or remove new datarows to the repeater.
I need the old items to stay in the repeater and be pushed down by the new items, so completely refreshing the datasource seems like a bad idea.I was thinking about maybe storing the datasource in the viewstate and adding rows to that, maybe with an extra column on the end which stores what transition is needed on the databind for my jquery, but there will be a 'View more items' link at the bottom of the page, so I am worried that the list could get pretty large and there would be a big problem with memory.
This should give me the friends of the user currently logged in in the Repeater, but gives me an exception on the runtime that an instance needs to be initialized, can you please suggest a solution...
Also, what should be the value of the NavigateUrl property of a Hyperlink in an ItemTemplate if the url is:
"http://domain.com/viewprofile.aspx?id=" + 'THE UserID property of the current element in the list'
On my main page I have a repeater that pulls the last 3 entries from the database. I want to be able to add pictures to the database and show those in the repeater, but only if the column is set to true. I can't seem to get past the part about have the image show only if its supposed to.
Here is the code for my page:
[Code]....
Code Behind:
[Code]....
SP:
[Code]....
So my questions are: Is the repeater the correct control to use?
How do I only show the image control if the column "NewsImgShow" is true?
I am placing a dropdown list in the footer of a DataGrid like this:
[Code]....
In my code behind file, in the myDDL_OnLoad event handler, I call to the database, populate a SqlDataReader, and set the DDL's datasource to that datareader. I define what data columns should be used for the DataValueField and DataTextField of the dropdownlist. Then I call the DropDownList's DataBind() method. Everything works without error. But, when the dropdownlist is displayed, it has blank lines in it.
By that, I mean if 8 records are loaded into the dropdownlist, it will expand to a size appropriate for 8 rows but, it will be empty. there is no text in it.
Has anyone seen this type of behavior before? This dropdownlist is in the footer of a dynamically loaded ajax update panel so, it is difficult to see the source code to see what values are in the html element rendered to represent the dropdown.
I am using a SiteMap data source boudn to a navigation control. I would like to also put this in the footer (sort of like the bottom of Yahoo! pages) where all items are expanded and static.
So my major heading would be across the top (horizontal) and the sub items would be indented vertically below and always expanded. Is there a way to do this? Check out the bottom of the BlackBerry DEVCON 2010 site for an example:[URL]
I have a Repeater displaying some data that doesn't do what I'd like to see. If a certain condition is met (ex: parent.NumOfChildren > 0) I would like a hyperlink shown. Here is what I have so far:
In this case, the "View Children" link shows up for every item in my Repeater, but I'd like it shown only if parent.GetNumOfChildren() > 0. Would it be correct to try setting the Visible="true/false" property of the HyperLink? Is that the norm for this sort of problem? Or, is there a way to wrap the entire <asp:Hyperlink> ... </asp:Hyperlink> tag in an if statement that has a reference to the object that is currently being interated in the Repeater? Ie:
have table COLLECTIONS and table CLOTHES.As an example, when showing the items on Listview, collection HAWAII would be written on the top, and its texts and images on the itemTemplate.Then, collection WINTER and its texts and images on the itemTemplate.And so on.P.S: I´m connecting the Listview visually thru SQLDataSource, not programatically.How can i do it ? On the layout template using a JOIN on the SQL Statement ?
im using Visual Web Developer Express2005 and language: VB
Example Image of my forum thread that im working:
i encircled in color red the part where i assign the 'content' as you can see above.here EXAMPLE of code in my repeater that populate a <td>(inserting data FROM my database) from my TableField('content')
[Code]....
the part that i encircled in the image above was the data on my tableField named--> 'content'.
The idea was to show not the whole content but to show Only some part of it. example is to show only the 1st 300chars or 100 words.
i tried this code which shows the fist 1-100 chars. [Code]....
Problem is the data i stored in the TableField('content') has other html tagsExample my Tablefield('content') has the following data.
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="mso-ansi-language: EN-CA"><span style="font-size: x-small">All hands worked in the preparation..............
When i use the code .tostring.tosubstring(1, 100) it shows: <p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="mso-ansi-language: EN-CA"><span style="font-size: x-small">All hands worked in the preparation..................
instead of starting at: All hands worked in the preparation.......Is there a way that i could extract first the html tags then use the .string.tosubstring(1, 100) to make it work.I use the code below temporarily to generate the 'content' as showed in the image above. i limit the height of the lable to 100px which does the trick. but i know its not a good method thats why im trying to look for other methods.
I am using a repeater to build a custom table. However, I can't figure out how to make the table show subtotal if the next rows tour does not match the previous rows.
Something similar to that.
row1 tour1 row2 tour 1 tour1 subtotal row3 tour2 row4 tour2 subtotal total
[code].....
but this shows all the data in the nested repeater not the ones that match the parentrepeater fields for example tour,theme,dep7 should match in the child repeater
I have one repeater on page which has his own sql data source. I've placed 2 dropdown lists on the page. The repeater has jQuery DataTable plugin. With 2 dropdownlist I wish to change the sql stored procedures so when each will be selected the data in repeater will change. When user select the first there will be only data (users) according to selected item and in the second the same. I wrote 2 simple functions for changing stored procedure of repeater and rebiding it. Everything works but when I try the second one and then the first I always get warning about error "Procedure or function .... has too many arguments specified".
I think that when I select the first one the second function is still called although I don't call it.
Is it possible to grab the cell data from Repeater items property such asDim test As String = myRepeater.Items(index).DataItem(2)where myRepeater has x rows and 10 columns and was bound from the DataTableSeems like it should be trivial, but looks like individual cells CAN NOT be accessed
I have a user control that displays a shopping cart in an ecommerce application.
The main cart display is a repeater that renders as a html table. In one of those table columns, there is another repeater to display people associated with the products int he cart (it's a repeater in case there is a line item >1 with multiple people).
I've added an ImageButton that I want to use to change the person associated with the item. At first, when I'd click on it I was getting this error:
Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.
So as an experiment I disabled EventValidation on the page (not the control it's self) and now I do not get an error, but I also do not ever hit the breakpoint I set in the innermost repeater's ItemCommand event.
So I wonder how I might do this without disabling EventValidation, because this control will show up on multiple pages and we don't want to edit them all. Also, I'll need to know not only the repeater containing the control's row that the event came from but also the row index of the repeater containg this one. Is this possible?