有没有办法在数据转发器控件中“对齐”列?
I.E目前看起来像这样:
user1 - colA colB colC colD colE
user2 - colD colE
我希望它看起来像:
user1
-colA
-colB
-colC
-colD
-colE
user1
-colD
-colE
我需要为每条记录添加相应的列 记录可能没有给定列的数据。
要求需要转发器而不是网格控件。
有什么想法吗?
答案 0 :(得分:2)
如果您可以访问重复中有多少列,那么只需将以下内容作为表标记。我没有访问权限,您是否可以发布数据中继器的来源以及您要反对的DataSource?
<td colspan='<%# MissingCount(Contatiner.DataItem) %>'>
答案 1 :(得分: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>
此方法可让内容增长而不会实际影响表结构。
答案 2 :(得分: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>
这是代码。根据用于生成列表的条件,列数将是动态的。
感谢。