2008-09-19 7 views
0

Existe-t-il un moyen d '"aligner" les colonnes dans un contrôle de répéteur de données?Y a-t-il un moyen d '"aligner" les colonnes dans un contrôle de répéteur de données?

IE Actuellement, il ressemble à ceci:

user1 - colA colB colC colD colE 
user2 - colD colE 

Je veux que ça ressemble à:

user1 
    -colA 
    -colB 
    -colC 
    -colD 
    -colE 


    user1 



    -colD 
    -colE 

je dois colonnes pour chaque enregistrement pour aligner correctement lorsque supplémentaires enregistrements pourraient ne pas disposer de données pour une colonne donnée.

Les exigences exigent un répéteur et non un contrôle de réseau.

Des idées?

Répondre

2

Si vous avez accès au nombre de colonnes qui sont erronées lors de la répétition, alors ce qui suit est simplement l'étiquette de table. Si vous n'y avez pas accès, pouvez-vous poster la source de votre répéteur de données et quelle DataSource vous allez contre?

<td colspan='<%# MissingCount(Contatiner.DataItem) %>'> 
0

<tr class="RadGridItem"> 
     <td width="100"> 
      <asp:Label ID="lblFullName" runat="server" 
       Text ='<%# DataBinder.Eval(Container.DataItem, "FullName") %>' 
       ToolTip='<%# "Current Grade: " + DataBinder.Eval(Container.DataItem,"CurrentGrade") + "%" + 
          " Percent Complete: " + DataBinder.Eval(Container.DataItem,"PercentComplete") + "%" %>' /> 
     </td> 
     <asp:Repeater ID="rptAssessments" runat="server" DataSource='<%# DataBinder.Eval(Container.DataItem, "EnrollmentAssessments") %>'> 
      <ItemTemplate> 
       <td style="padding :0px 0px 0px 0px; width:20px; height: 20px;"> 
        <asp:LinkButton ID="lnkEdit" runat="server" 
         OnClick="AssessmentClick" 
         style=' <%# "color:" + this.GetAssessmentColor(Container.DataItem) %>' 
         ToolTip='<%# DataBinder.Eval(Container.DataItem, "AssessmentName") + Environment.NewLine + 
             DataBinder.Eval(Container.DataItem, "EnrollmentAssessmentStateName") + "(" + 
             DataBinder.Eval(Container.DataItem, "PercentGradeDisplay") + "%) " + 
             GetPointsPossible(Container.DataItem) + " pts possible" %>' 
         CommandArgument='<%# DataBinder.Eval(Container.DataItem, "EnrollmentAssessmentID") %>' 
         Text='<%# this.GetAssessmentDisplay(Container.DataItem) %>' /> 
       </td> 
      </ItemTemplate> 
     </asp:Repeater> 
    </tr> 
</ItemTemplate> 

Ce code. Le nombre de colonnes sera dynamique en fonction des critères utilisés pour générer la liste.

Merci.

1

Je suggère que plutôt que d'utiliser <td> pour définir les colonnes, que vous utilisez CSS à la place.

.collink { 
    width: 20px; 
    float: left; 
    height: 20px; 
} 

ET

<td style="padding :0px 0px 0px 0px;"> 
    <div class="collink"> 
     <asp:LinkButton ID="lnkEdit" runat="server" ... /> 
    </div> 
</td> 

Cette approche permet de développer le contenu sans affecter réellement la structure de la table.

Questions connexes