473,396 Members | 1,765 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Repeater. I see only the last record. Have no idea why!



Hello,

I am created an Asp.Net 2.0 repeater implementing the ITemplate class.

I know my datasource, a datatable has 6 rows, but the repeater only
displays the last one.

If I add more rows to my datatable I keep seeing only the last record
on my repeater. any idea why?

This is my ITemplate code:

1
2 Private Class rFeedbackTemplate
3 Implements ITemplate
4
5 Private Type As ListItemType
6 Protected WithEvents lMessage As New Label
7
8 Public Sub New(ByVal type As ListItemType)
9 Me.Type = type
10 End Sub ' New
11
12 ' InstantiateIn
13 Public Sub InstantiateIn(ByVal container As Control)
Implements ITemplate.InstantiateIn
14 Select Case Me.Type
15 Case ListItemType.Header ' Header
template
16 Case ListItemType.Item ' Item
template
17 container.Controls.Add(lMessage)
18 Case ListItemType.AlternatingItem ' Alternating
item template
19 Case ListItemType.Footer ' Footer
template
20 End Select
21 End Sub ' InstantiateIn
22
23 Private Sub lMessage_DataBinding(ByVal sender As Object,
ByVal e As System.EventArgs) Handles lMessage.DataBinding
24 Dim container As RepeaterItem =
CType(lMessage.NamingContainer, RepeaterItem)
25 lMessage.Text = DataBinder.Eval(container.DataItem,
"Message")
26 End Sub ' lMessage_DataBinding
27
28 Private Sub lMessage_Init(ByVal sender As Object, ByVal e
As EventArgs) Handles lMessage.Init
29 With lMessage
30 .CssClass = "lMessage"
31 .ID = "lMessage"
32 End With
33 End Sub ' lMessage_Init
34
35 End Class ' rFeedbackTemplate

My repeater events:

1
2 Private Sub rFeedback_Init(ByVal sender As Object, ByVal e As
System.EventArgs) Handles rFeedback.Init
3 rFeedback.ID = "rFeedback"
4 rFeedback.ItemTemplate = New
rFeedbackTemplate(ListItemType.Item)
5 End Sub ' rFeedback_Init
6
7 Private Sub rFeedback_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles rFeedback.Load
8 If Not Page.IsPostBack Then
9 With rFeedback
10 .DataSource = rFeedback_DataSource()
11 .DataBind()
12 End With
13 End If
14 End Sub ' rFeedback_Load
15
16 ' rFeedback_DataSource
17 Private Function rFeedback_DataSource() As DataTable
18 Dim dtFeedback As New DataTable
19 dtFeedback.Columns.Add(New DataColumn("Message",
GetType(String)))
20 For Each message As String In Me.Messages
21 Dim drFeedback As DataRow = dtFeedback.NewRow
22 drFeedback("Message") = message
23 dtFeedback.Rows.Add(drFeedback)
24 Next message
25 Return dtFeedback
26 End Function ' rFeedback_DataSource

Any idea why I only see the last record of my data source in my
repeater?

Thanks,

Miguel

Feb 26 '07 #1
3 2057
Show us your SQL statement

--
David Wier
MVP/ASPInsider
http://aspnet101.com
http://aspexpress.com
"shapper" <md*****@gmail.comwrote in message
news:11*********************@z35g2000cwz.googlegro ups.com...
>

Hello,

I am created an Asp.Net 2.0 repeater implementing the ITemplate class.

I know my datasource, a datatable has 6 rows, but the repeater only
displays the last one.

If I add more rows to my datatable I keep seeing only the last record
on my repeater. any idea why?

This is my ITemplate code:

1
2 Private Class rFeedbackTemplate
3 Implements ITemplate
4
5 Private Type As ListItemType
6 Protected WithEvents lMessage As New Label
7
8 Public Sub New(ByVal type As ListItemType)
9 Me.Type = type
10 End Sub ' New
11
12 ' InstantiateIn
13 Public Sub InstantiateIn(ByVal container As Control)
Implements ITemplate.InstantiateIn
14 Select Case Me.Type
15 Case ListItemType.Header ' Header
template
16 Case ListItemType.Item ' Item
template
17 container.Controls.Add(lMessage)
18 Case ListItemType.AlternatingItem ' Alternating
item template
19 Case ListItemType.Footer ' Footer
template
20 End Select
21 End Sub ' InstantiateIn
22
23 Private Sub lMessage_DataBinding(ByVal sender As Object,
ByVal e As System.EventArgs) Handles lMessage.DataBinding
24 Dim container As RepeaterItem =
CType(lMessage.NamingContainer, RepeaterItem)
25 lMessage.Text = DataBinder.Eval(container.DataItem,
"Message")
26 End Sub ' lMessage_DataBinding
27
28 Private Sub lMessage_Init(ByVal sender As Object, ByVal e
As EventArgs) Handles lMessage.Init
29 With lMessage
30 .CssClass = "lMessage"
31 .ID = "lMessage"
32 End With
33 End Sub ' lMessage_Init
34
35 End Class ' rFeedbackTemplate

My repeater events:

1
2 Private Sub rFeedback_Init(ByVal sender As Object, ByVal e As
System.EventArgs) Handles rFeedback.Init
3 rFeedback.ID = "rFeedback"
4 rFeedback.ItemTemplate = New
rFeedbackTemplate(ListItemType.Item)
5 End Sub ' rFeedback_Init
6
7 Private Sub rFeedback_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles rFeedback.Load
8 If Not Page.IsPostBack Then
9 With rFeedback
10 .DataSource = rFeedback_DataSource()
11 .DataBind()
12 End With
13 End If
14 End Sub ' rFeedback_Load
15
16 ' rFeedback_DataSource
17 Private Function rFeedback_DataSource() As DataTable
18 Dim dtFeedback As New DataTable
19 dtFeedback.Columns.Add(New DataColumn("Message",
GetType(String)))
20 For Each message As String In Me.Messages
21 Dim drFeedback As DataRow = dtFeedback.NewRow
22 drFeedback("Message") = message
23 dtFeedback.Rows.Add(drFeedback)
24 Next message
25 Return dtFeedback
26 End Function ' rFeedback_DataSource

Any idea why I only see the last record of my data source in my
repeater?

Thanks,

Miguel

Feb 26 '07 #2
There is no "SQL Statement" for him to show you. Go back and look at his code.
--
Site: http://www.eggheadcafe.com
UnBlog: http://petesbloggerama.blogspot.com
Short urls & more: http://ittyurl.net


"David Wier" wrote:
Show us your SQL statement

--
David Wier
MVP/ASPInsider
http://aspnet101.com
http://aspexpress.com
"shapper" <md*****@gmail.comwrote in message
news:11*********************@z35g2000cwz.googlegro ups.com...


Hello,

I am created an Asp.Net 2.0 repeater implementing the ITemplate class.

I know my datasource, a datatable has 6 rows, but the repeater only
displays the last one.

If I add more rows to my datatable I keep seeing only the last record
on my repeater. any idea why?

This is my ITemplate code:

1
2 Private Class rFeedbackTemplate
3 Implements ITemplate
4
5 Private Type As ListItemType
6 Protected WithEvents lMessage As New Label
7
8 Public Sub New(ByVal type As ListItemType)
9 Me.Type = type
10 End Sub ' New
11
12 ' InstantiateIn
13 Public Sub InstantiateIn(ByVal container As Control)
Implements ITemplate.InstantiateIn
14 Select Case Me.Type
15 Case ListItemType.Header ' Header
template
16 Case ListItemType.Item ' Item
template
17 container.Controls.Add(lMessage)
18 Case ListItemType.AlternatingItem ' Alternating
item template
19 Case ListItemType.Footer ' Footer
template
20 End Select
21 End Sub ' InstantiateIn
22
23 Private Sub lMessage_DataBinding(ByVal sender As Object,
ByVal e As System.EventArgs) Handles lMessage.DataBinding
24 Dim container As RepeaterItem =
CType(lMessage.NamingContainer, RepeaterItem)
25 lMessage.Text = DataBinder.Eval(container.DataItem,
"Message")
26 End Sub ' lMessage_DataBinding
27
28 Private Sub lMessage_Init(ByVal sender As Object, ByVal e
As EventArgs) Handles lMessage.Init
29 With lMessage
30 .CssClass = "lMessage"
31 .ID = "lMessage"
32 End With
33 End Sub ' lMessage_Init
34
35 End Class ' rFeedbackTemplate

My repeater events:

1
2 Private Sub rFeedback_Init(ByVal sender As Object, ByVal e As
System.EventArgs) Handles rFeedback.Init
3 rFeedback.ID = "rFeedback"
4 rFeedback.ItemTemplate = New
rFeedbackTemplate(ListItemType.Item)
5 End Sub ' rFeedback_Init
6
7 Private Sub rFeedback_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles rFeedback.Load
8 If Not Page.IsPostBack Then
9 With rFeedback
10 .DataSource = rFeedback_DataSource()
11 .DataBind()
12 End With
13 End If
14 End Sub ' rFeedback_Load
15
16 ' rFeedback_DataSource
17 Private Function rFeedback_DataSource() As DataTable
18 Dim dtFeedback As New DataTable
19 dtFeedback.Columns.Add(New DataColumn("Message",
GetType(String)))
20 For Each message As String In Me.Messages
21 Dim drFeedback As DataRow = dtFeedback.NewRow
22 drFeedback("Message") = message
23 dtFeedback.Rows.Add(drFeedback)
24 Next message
25 Return dtFeedback
26 End Function ' rFeedback_DataSource

Any idea why I only see the last record of my data source in my
repeater?

Thanks,

Miguel


Feb 26 '07 #3
On Feb 26, 8:10 pm, Peter Bromberg [C# MVP]
<pbromb...@yahoo.yabbadabbadoo.comwrote:
There is no "SQL Statement" for him to show you. Go back and look at his code.
--
Site: http://www.eggheadcafe.com
UnBlog: http://petesbloggerama.blogspot.com
Short urls & more: http://ittyurl.net

"David Wier" wrote:
Show us your SQL statement
--
David Wier
MVP/ASPInsider
http://aspnet101.com
http://aspexpress.com
"shapper" <mdmo...@gmail.comwrote in message
news:11*********************@z35g2000cwz.googlegro ups.com...
Hello,
I am created an Asp.Net 2.0 repeater implementing the ITemplate class.
I know my datasource, a datatable has 6 rows, but the repeater only
displays the last one.
If I add more rows to my datatable I keep seeing only the last record
on my repeater. any idea why?
This is my ITemplate code:
1
2 Private Class rFeedbackTemplate
3 Implements ITemplate
4
5 Private Type As ListItemType
6 Protected WithEvents lMessage As New Label
7
8 Public Sub New(ByVal type As ListItemType)
9 Me.Type = type
10 End Sub ' New
11
12 ' InstantiateIn
13 Public Sub InstantiateIn(ByVal container As Control)
Implements ITemplate.InstantiateIn
14 Select Case Me.Type
15 Case ListItemType.Header ' Header
template
16 Case ListItemType.Item ' Item
template
17 container.Controls.Add(lMessage)
18 Case ListItemType.AlternatingItem ' Alternating
item template
19 Case ListItemType.Footer ' Footer
template
20 End Select
21 End Sub ' InstantiateIn
22
23 Private Sub lMessage_DataBinding(ByVal sender As Object,
ByVal e As System.EventArgs) Handles lMessage.DataBinding
24 Dim container As RepeaterItem =
CType(lMessage.NamingContainer, RepeaterItem)
25 lMessage.Text = DataBinder.Eval(container.DataItem,
"Message")
26 End Sub ' lMessage_DataBinding
27
28 Private Sub lMessage_Init(ByVal sender As Object, ByVal e
As EventArgs) Handles lMessage.Init
29 With lMessage
30 .CssClass = "lMessage"
31 .ID = "lMessage"
32 End With
33 End Sub ' lMessage_Init
34
35 End Class ' rFeedbackTemplate
My repeater events:
1
2 Private Sub rFeedback_Init(ByVal sender As Object, ByVal e As
System.EventArgs) Handles rFeedback.Init
3 rFeedback.ID = "rFeedback"
4 rFeedback.ItemTemplate = New
rFeedbackTemplate(ListItemType.Item)
5 End Sub ' rFeedback_Init
6
7 Private Sub rFeedback_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles rFeedback.Load
8 If Not Page.IsPostBack Then
9 With rFeedback
10 .DataSource = rFeedback_DataSource()
11 .DataBind()
12 End With
13 End If
14 End Sub ' rFeedback_Load
15
16 ' rFeedback_DataSource
17 Private Function rFeedback_DataSource() As DataTable
18 Dim dtFeedback As New DataTable
19 dtFeedback.Columns.Add(New DataColumn("Message",
GetType(String)))
20 For Each message As String In Me.Messages
21 Dim drFeedback As DataRow = dtFeedback.NewRow
22 drFeedback("Message") = message
23 dtFeedback.Rows.Add(drFeedback)
24 Next message
25 Return dtFeedback
26 End Function ' rFeedback_DataSource
Any idea why I only see the last record of my data source in my
repeater?
Thanks,
Miguel
Hi,

I don't have an SQL statement.

This code is inside an user control.

The user control as a property as follows:

' Messages
Private _Messages As New Generic.List(Of String)
Public Property Messages() As Generic.List(Of String)
Get
Return _Messages
End Get
Set(ByVal value As Generic.List(Of String))
_Messages = value
End Set
End Property ' Messages

On my page I have something like:
With MyUserControl.Messages
.Add("Message01")
.Add("Message02")
...
.Add("Message06")
End With

On my UserControl, inside rFeedback_DataSource, I place the following
code:
Response.Write(dtFeedback.Rows.Count.ToString)

I get 6!

I looked everywhere, all day, to try to figure out what is going on
but I have no idea.

Could someone, please help me out?

Thanks,
Miguel

Feb 27 '07 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Josh Daws | last post by:
Hi, I'm just learning asp.net. I'm very familiar with asp and coldfusion, but I'm getting very frustrated learning asp.net. I'm working on my first project. Basically just converting a...
3
by: francois | last post by:
Hi, I have a little problem I am using a stored procedure to retrieve my date. What I want to achieve is to be able to "skip" some row from the resultset i retrieve back from the stored...
1
by: darrel | last post by:
I'm trying to whip up a fancy repeater control that will put records into a two-column table for me. This is how I envision it working: itemtemplate if record count = odd then write out the...
3
by: WebMatrix | last post by:
I am struggling with implementing somewhat complicated UI web-control. I explored Repeater, but I am not sure if it's the best way to go. I am leaning towards writing my own custom control and...
1
by: Shapper | last post by:
Hello, I am trying to get some data from a XML file into a repeater: MyXML.ReadXml("http://www.mydomain.com/myXmlFile.xml") MyRepeater.DataSource = MyXML MyRepeater.DataBind() My XML file...
3
by: Andrew | last post by:
Hi, I am working on a questionnaire. I have displayed a questionnaire using a repeater control. The itemtemplate is as below (quite cut down): <ItemTemplate> <tr><td> <%#...
2
by: shapper | last post by:
Hello, I created a Repeater at runtime with an AccessDataSource.Everything Works fine! Now I need to use the same repeater but with a DataSource created in my VB.Net code. I created a...
1
by: Dave A | last post by:
I have a problem that I have boiled down to a very simple example. I have a user control that displays a some data from a business object. On one screen I have a collection of these business...
2
by: shapper | last post by:
Hello, I am binding a Repeater as follows: Private Sub rFeedback_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles rFeedback.Load If Not Page.IsPostBack Then...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.