有没有一种方法可以使数据转发器控件中的列"对齐"?

时间:2020-03-06 14:26:08  来源:igfitidea点击:

有没有一种方法可以"对齐"数据转发器控件中的列?

I.E当前看起来像这样:

user1 - colA colB colC colD colE
user2 - colD colE

我希望它看起来像:

user1
   -colA
   -colB
   -colC
   -colD
   -colE

   user1

   -colD
   -colE

我需要为每条记录按列以在添加其他内容时正确对齐
记录可能没有给定列的数据。

需求需要中继器而不是网格控件。

有任何想法吗?

解决方案

如果我们有权访问重复中有多少列错误,则将以下内容作为表格标签。我没有访问权限,可以发布数据转发器的源以及要使用的数据源吗?

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

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

这是代码。列数将根据用于生成列表的条件是动态的。

谢谢。

我建议不要使用&lt;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>

这种方法可以使内容增长而不会实际影响表结构。