首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataList列分布

DataList列分布
EN

Stack Overflow用户
提问于 2010-10-11 21:04:32
回答 1查看 1.5K关注 0票数 3

我正在使用.NET aspx编程。在asp:DataList组件中,我希望均匀地分配列,即使不是所有列都被分配为ItemTemplate。

例如。

代码语言:javascript
复制
<asp:DataList id="test" runat="server" Width="90%" gridlines="None"
    RepeatDirection="Horizontal" 
    RepeatColumns="4" HorizontalAlign="Left">
<ItemTemplate> ... </ItemTemplate>
</asp:DataList>

在运行时,绑定到datalist的数组只包含2个元素。我仍然希望在这四个空格中均匀地分配列。

EN

回答 1

Stack Overflow用户

发布于 2013-02-11 02:55:32

如果您致力于使用DataList,那么有两种合理的方法可以实现这一点。

首先,您可以将您的ItemTemplate div 封装在一个固定宽度的div中。

代码语言:javascript
复制
<ItemTemplate>
  <div style="width: 250px;">
  ...
  </div>
</ItemTemplate>

其次,如果您的DataList必须展开或收缩以适应查看器的屏幕,则可以使用jquery.。

在页面加载之后,我们将获取datalist的计算客户端宽度,并调整要均匀分布的列。

代码语言:javascript
复制
<asp:DataList id="MyDataList" ClientIDMode="Static" runat="server" Width="90%" gridlines="None"
    RepeatDirection="Horizontal" 
    RepeatColumns="4" HorizontalAlign="Left">
  <ItemTemplate>  
    <div class="DataListItem">
    ....
    </div>
  </ItemTemplate>
</asp:DataList>

在我们看到jquery之前,先做两个简短的说明

  • ClientIDMode="Static“上的datalist
  • Every数据列表项将被包装在带有类"DataListColumn"

的div中。

在jquery中,在加载页面时,您可以获得计算出的datalist宽度,如下所示

代码语言:javascript
复制
$(document).ready(function () {   
    $(".DataListItem").width($("#MyDataList").width() / 4); // Set the column width    
});

尽管如此,您可能希望只使用一个中继器,这样您就可以更好地控制实际列。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3909961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档