webForumDet fria alternativet

Datalist trubbel

.NET

2 svar · 236 visningar · startad av Dino

Medlem sedan sep. 20011 914 inlägg
Frågan#1

Har blivit tvungen att använda en DataList (var ett tag sen senast). Då har iaf två problem uppstått.

1. Den nämda DataList skall repetera sig tre gånger sidledes vilket den gör, men html koden (ännu lite längre ner) som spottas ut är lite felaktig. Det i fetstil finns inte, men borde det inte göra det?

.aspx
<asp:datalist id="dlGrr" width="100%" enableviewstate="False"  repeatcolumns="3" repeatdirection="Horizontal" repeatlayout="Table" runat="server">
    <itemstyle cssclass="grrTD"  />
    <itemtemplate>
            <asp:hyperlink id="hpGrr" runat="server" />
    </itemtemplate>
</asp:datalist>
<table id="dlGrr" cellspacing="0" border="0" style="width:100%;border-collapse:collapse;">
   <tr>
      <td class="grrTD">...</td>
      <td class="grrTD">...</td>
      <td class="grrTD">...</td>
   </tr>
   <tr>
      <td class="grrTD" [b]colspan="3"[/b]>...</td>
   </tr>
</table>

2. Vill sätta en onmouseover på tabellcellen som genereras med nedan kod, men det vill ju självklart inte fungera. Varför?

.aspx.cs
private void dlGrr_ItemCreated(object sender, DataListItemEventArgs e)
{
   if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
   {
      e.Item.Attributes.Add("onmousover", "mouseOver(this)");
   }
}
Medlem sedan apr. 20012 266 inlägg
#2

1. Anser att det är normallt att den inte sätter colspan="3" eftersom det troliga ursprungssyftet med DataList och RepearColumns är väl just det att man skall kunna skapa en form av rutsystem. Sätter man colspan uteblir den effekten då en cell blir större än de andra.

2. Representerar e verkligen HTML koden för TD? Tror du måste gräva dig inåt något steg till för att komma åt den, testa via e.Item.Controls.

Medlem sedan sep. 20011 914 inlägg
#3

1. När man använder repeatlayout="Table" är det en html tabell som skall byggas upp och om det då är som min att det är tex fyra kolumner som skall byggas och dessa skall delas upp på tre kolumner/rad så måste det ju spottas ut antingen.
<td>a</td><td>b</td><td>c</td>
<td colspan="3">d</td>
eller
<td>a</td><td>b</td><td>c</td>
<td>d</td>& n b s p ;<td>& n b s p ;</td><td>& n b s p ;</td>
för att det skall bli fin html och ett rut nät .

2. Nä, den varianten tar mig till kontrollerna i td. Om jag däremot använder repeatlayout="Flow" som genererar en <span> så funkar det fint.

257 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)