【问题标题】:Datalist records line in vertical directionDatalist 记录垂直方向的行
【发布时间】:2012-06-12 20:39:14
【问题描述】:

我有一个数据列表。我有 20 条记录和每条记录 1 列显示在 datalist 中。

如何在垂直线上显示每 15 条记录。我的意思是,如果总记录是 16,那么前 15 条应该垂直出现在第一行,接下来的第 16 条记录将出现在下一行。 如果总记录数为 12,则所有记录应垂直居中线

我的代码

<div style="overflow:auto; height: 230px; width:340px;">
    <asp:DataList ID="DataList1" runat="server" ItemStyle-BorderWidth="0px" ItemStyle-Width="340px"
        RepeatDirection="Vertical">
        <ItemTemplate>
            <asp:Label ID="lblAreas" runat="server" Text='<%#Eval("Value") %>'></asp:Label>
        </ItemTemplate>
    </asp:DataList>
</div>

【问题讨论】:

  • 如果对您有帮助,别忘了接受答案...

标签: c# asp.net c#-4.0


【解决方案1】:

使用RepeatDirection.Vertical 并将RepeatColumns 设置为(records / 15) + 1 并将15 - (records % 15) 空记录添加到现有记录中。

编辑:谁曾否决我,愿意留下解释,或者逻辑对你来说太简单了?如果现有记录不超过 15 条,则不必添加空记录,但如果有更多记录 - 此方法始终每列显示 15 行和所需的列数 - 您只需设置空单元格的样式(其中作为最后一列中的最后一个单元格出现)与背景相同,或者只是使它们透明。

【讨论】:

  • and add 15 - (records % 15) 为什么?
  • @PankajGarg 如果您有 16 条记录,则 datalist 会将它们显示为两列 8 行 - 如果您有 (15 - (16 % 15)) + 16 = (15 - 1) + 16 = 14 + 16 = 30 行,然后 datalist 会将它们显示为两列,每列 15 行(第二列中的第二到第十五行将为空 - 完全符合您的要求)...您不需要添加空记录如果现有 15 个或更少
  • 但我不想显示空记录。
  • @PankajGarg 只是将它们设置为看起来像背景 - 我必须为您绘制所有内容吗...
  • 如果我有 16 条记录,那么第一列应该显示 15 行,第二列应该显示 1
猜你喜欢
  • 2012-10-05
  • 1970-01-01
  • 1970-01-01
  • 2012-03-18
  • 2011-05-14
相关资源
最近更新 更多