2008-09-19 2 views
0

Есть ли способ «выровнять» столбцы в элементе управления ретранслятора данных?Есть ли способ «выровнять» столбцы в элементе управления ретрансляторами данных?

IE в настоящее время выглядит следующим образом:

user1 - colA colB colC colD colE 
user2 - colD colE 

Я хочу, чтобы выглядеть следующим образом:

user1 
    -colA 
    -colB 
    -colC 
    -colD 
    -colE 


    user1 



    -colD 
    -colE 

мне нужно столбцов для каждой записи, чтобы выровнять должным образом, когда дополнительные записи не могут иметь данные для данного столбца.

Требования требуют повторителя, а не управления сеткой.

Любые идеи?

ответ

2

Если у вас есть доступ к тому, сколько столбцов перемешивается в повторе, то только следующее в качестве тега таблицы. У вас нет доступа к этому, можете ли вы опубликовать источник для вашего ретранслятора данных и какой DataSource вы собираетесь против?

<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> 

Это код. Число столбцов будет динамическим на основе критериев, используемых для создания списка.

Спасибо.

1

Я бы предположил, что вместо того, чтобы использовать <td> для определения столбцов, вы вместо этого используете CSS.

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

И

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

Такой подход позволяет содержание расти без фактического влияния на структуру таблицы.

Смежные вопросы