Har en DataList kopplad till en SP, men vill få ute en av Fälten fr SP i en Label i <HeaderTemplate> Jag tror inte att header-raden får någon rad från databindningen... Varje rad ifrån sp:n binds mot en item. Det du kan göra är att lyssna på typ ItemDataBound eventet för den första raden och sätta värdet i Headern från kod. Tyvärr är headern inte tillgänglig via någon property så du får använda Controls-collectionen Blir bara tomt men jag kan ha fattat dig fel:Få in ett värde i DataList Header
går det?
<asp:DataList ID="list" runat="server" Width="200px" DataSourceID="SqlDataSource1">
<ItemTemplate>
<table cellspacing="1" cellpadding="2" align="center" rules="all" border="1" style="background-color:Black;font-family:Verdana;font-size:9pt;height:16px;width:350px;Z-INDEX: 100; ">
<tr align="center" style="background-color:#FFFF99;">
<td style="background-color:#FFFF99; height: 30px;">
<asp:Label ID="Label2" runat="server" Text='<%# Eval("MatchResultLicNbr") %>'>
</asp:Label>
<asp:Label ID="MatchResultLicNbrLabel1" CssClass="TableLabel" runat="server" Text='<%Eval("MatchResultLicNbr")%>'></asp:Label><br />
<asp:Label ID="SpelarNamnLabel" runat="server" Text='<%# Eval("SpelarNamn") %>'>
</asp:Label>
</td>
<td style="height: 30px"><asp:Label ID="MatchResultPlayerLabel" runat="server" Text='<%# Eval("MatchResultPlayer") %>' /></td>
<td style="height: 30px"><asp:Label ID="BanpLabel" runat="server" Text='<%# Eval("Banp") %>'>
</asp:Label><!--<asp:Label ID="LblAntSer" CssClass="TabelLabel" runat="server" Text='<%Eval("AntSerier")%>'></asp:Label> -->
</td>
<td style="height: 30px">
</td>
<td style="height: 30px">
</td>
<td style="width: 32px; height: 30px;">
</td>
</tr>
</table>
</ItemTemplate>
<HeaderTemplate>
<table cellspacing="1" cellpadding="2" align="center" rules="all" border="1" style="background-color:Black;font-family:Verdana;font-size:9pt;height:16px;width:350px;Z-INDEX: 100; ">
<tr align="center">
<td style="background-color:#FFFF99;font-weight:normal; height: 20px;">Individuella resultat</td>
<td style="background-color:#FFFF99; height: 20px;">Res</td>
<td style="background-color:#FFFF99; height: 20px;">Ser</td>
<td style="background-color:#FFFF99; height: 20px;">Banp</td>
<td style="background-color:#FFFF99; height: 20px;">Rank</td>
<td style="background-color:#FFFF99; height: 20px; width: 32px;">Sa</td>
</tr>
<tr align="center" style="background-color:#FFFF99;">
<td style="font-weight:normal;">
<asp:Label ID="ClubName" runat="server" Text='<%# Eval("ClubName") %>'></asp:Label>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td style="width: 32px">
</td>
</tr>
</table>
</HeaderTemplate>
</asp:DataList>Sv: Få in ett värde i DataList Header
<code>
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
// Kolla så att vi bara sätter värdet en gång...
if (e.Item.ItemIndex == 0)
{
// Kolla så att vi bara gör det om det är en item och inte headern själv...
if (e.Item.ItemType == ListItemType.Item)
{
// Hämta kontrollen och sätt värdet. Värde du hämtar från e.Item.DataItem
((Label)DataList1.Controls[0].FindControl("ClubName")).Text = "Hello";
}
}
}
</code>Sv:Få in ett värde i DataList Header
private void PlayerInfo()
{
// get the PlayerInfo
string matchId = Request.QueryString["MatchId"];
if (matchId != null)
{
list.DataSource = MatchFaktaAccess.GetMatchfakta(matchId);
list.DataBind();
}
else
{
//list.DataSource = MatchFaktaAccess.GetMatchfakta(matchId);
//list.DataBind();
}
}
protected void list_ItemDataBound(object sender, DataListItemEventArgs e)
{
// Kolla så att vi bara sätter värdet en gång...
if (e.Item.ItemIndex == 0)
{
// Kolla så att vi bara gör det om det är en item och inte headern själv...
if (e.Item.ItemType == ListItemType.Item)
{
// Hämta kontrollen och sätt värdet. Värde hämtar du från e.Item.DataItem
((Label)list.Controls[0].FindControl("LblClubName")).Text = "Hello";
}
}
}
<Code c#>
<ItemTemplate>
<table style="text-align:center; size:350px;">
<tr align="center">
<td style="font-weight:normal; size:450px;"><%# Eval("SpelarNamn")%><br /><%# Eval("MatchResultLicNbr")%></td>
<td style="size:20px;">
<%# Eval("MatchResultPlayer")%></td>
<td style="size:20px;"><%# Eval("Ser")%></td>
<td style="size:20px;"><%# Eval("Banp")%></td>
<td style="size:20px;"><%# Eval("MatchResultPlace")%></td>
</tr>
</table>
</ItemTemplate>
<SeparatorStyle BorderColor="Black" />
<HeaderTemplate>
<tr align="center">
<td style="background-color:#FFFF99; font-weight:normal; size:250px;">
<asp:Label ID="LblClubName" runat="server" Text=""></asp:Label></td>
<td style="background-color:#FFFF99;">Res</td>
<td style="background-color:#FFFF99;">Ser</td>
<td style="background-color:#FFFF99;">Banp</td>
<td style="background-color:#FFFF99;">Rank</td>
<td style="background-color:#FFFF99;">Sa</td>
</tr>
</HeaderTemplate>
</Code>