Datagrid Template columns shows data from first row

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have a datagrid with a template column that has a hyperlink and a label.
The hyperlink text is bound to Title from my dataset and the label text is
bound to Author in the dataset. The grid displays with the template columns
showing the Title and the Author from the first row in all rows. The other
none template columns are fine. Obviously I am not understanding something
here. What am I missing?????
 
HI Barry,

How did you bind the data? Check the HTML view of the page, how does bind
line look like?

Please try this:

<ItemTemplate>
<asp:Label id="Label1" runat="server" Text='<%# DataBinder.Eval(Container,
"DataItem.Author") %>'>
...
</ItemTemplate>

Regards,

Felix Wu
=============
This posting is provided "AS IS" with no warranties, and confers no rights.


--------------------
 
I work in the IDE and this is the code generated by the template editor:

<asp:TemplateColumn HeaderText="Title">
<ItemTemplate>
<asp:HyperLink id=HyperLink1 runat="server" Text='<%#
DataBinder.Eval(dsBookSearch, "Tables[BookSearch].DefaultView.[0].Title")
%>' navigateUrl="BookInfo.aspx">
</asp:HyperLink><BR>
<asp:Label id="Label2" runat="server"> by </asp:Label>&nbsp;
<asp:Label id=Label1 runat="server" Text='<%#
DataBinder.Eval(dsBookSearch, "Tables[BookSearch].DefaultView.[0].Author")
%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
 
I got it to work by using Container,DataItem... I don't understand why
this works but refrencing the dataset does not?

--
Barry Fitzgerald


I work in the IDE and this is the code generated by the template editor:

<asp:TemplateColumn HeaderText="Title">
<ItemTemplate>
<asp:HyperLink id=HyperLink1 runat="server" Text='<%#
DataBinder.Eval(dsBookSearch, "Tables[BookSearch].DefaultView.[0].Title")
%>' navigateUrl="BookInfo.aspx">
</asp:HyperLink><BR>
<asp:Label id="Label2" runat="server"> by </asp:Label>&nbsp;
<asp:Label id=Label1 runat="server" Text='<%#
DataBinder.Eval(dsBookSearch, "Tables[BookSearch].DefaultView.[0].Author")
%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
--
Barry Fitzgerald


Felix Wu said:
HI Barry,

How did you bind the data? Check the HTML view of the page, how does bind
line look like?

Please try this:

<ItemTemplate>
<asp:Label id="Label1" runat="server" Text='<%# DataBinder.Eval(Container,
"DataItem.Author") %>'>
...
</ItemTemplate>

Regards,

Felix Wu
=============
This posting is provided "AS IS" with no warranties, and confers no rights.
 
Hi Barry,

ASP.NET provides you many binding options for different purpose.
Container.DataItem allows you to bind to each element of DataSource. For
more information about Data Binding, the following link may help:

Data Binding Expression Syntax
http://msdn.microsoft.com/library/en-us/cpgenref/html/cpcondatabindingexpres
sionsyntax.asp

Regards,

Felix Wu
=============
This posting is provided "AS IS" with no warranties, and confers no rights.


--------------------
Subject: Re: Datagrid Template columns shows data from first row
Date: Tue, 8 Jul 2003 07:06:47 -0500
Lines: 93
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Message-ID: <[email protected]>
Newsgroups: microsoft.public.dotnet.framework.aspnet
NNTP-Posting-Host: exchange.gumdropbooks.com 12.108.131.130
Path: cpmsftngxa09.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftngp13.phx.gbl
Xref: cpmsftngxa09.phx.gbl microsoft.public.dotnet.framework.aspnet:32959
X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet

I got it to work by using Container,DataItem... I don't understand why
this works but refrencing the dataset does not?

--
Barry Fitzgerald


I work in the IDE and this is the code generated by the template editor:

<asp:TemplateColumn HeaderText="Title">
<ItemTemplate>
<asp:HyperLink id=HyperLink1 runat="server" Text='<%#
DataBinder.Eval(dsBookSearch, "Tables[BookSearch].DefaultView.[0].Title")
%>' navigateUrl="BookInfo.aspx">
</asp:HyperLink><BR>
<asp:Label id="Label2" runat="server"> by </asp:Label>&nbsp;
<asp:Label id=Label1 runat="server" Text='<%#
DataBinder.Eval(dsBookSearch, "Tables[BookSearch].DefaultView.[0].Author")
%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
--
Barry Fitzgerald


Felix Wu said:
HI Barry,

How did you bind the data? Check the HTML view of the page, how does bind
line look like?

Please try this:

<ItemTemplate>
<asp:Label id="Label1" runat="server" Text='<%# DataBinder.Eval(Container,
"DataItem.Author") %>'>
...
</ItemTemplate>

Regards,

Felix Wu
=============
This posting is provided "AS IS" with no warranties, and confers no rights.


--------------------
From: <[email protected]>
Subject: Datagrid Template columns shows data from first row
Date: Mon, 7 Jul 2003 07:36:56 -0500
Lines: 12
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Message-ID: <[email protected]>
Newsgroups: microsoft.public.dotnet.framework.aspnet
NNTP-Posting-Host: 12.108.131.130
Path: cpmsftngxa09.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP12.phx.gbl
Xref: cpmsftngxa09.phx.gbl microsoft.public.dotnet.framework.aspnet:32670
X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet

I have a datagrid with a template column that has a hyperlink and a label.
The hyperlink text is bound to Title from my dataset and the label
text
is
bound to Author in the dataset. The grid displays with the template
columns
showing the Title and the Author from the first row in all rows. The other
none template columns are fine. Obviously I am not understanding something
here. What am I missing?????
 
Back
Top