【问题标题】:DataList render rows as columnsDataList 将行呈现为列
【发布时间】:2012-05-22 19:27:09
【问题描述】:

您好,我想强制 DataList 将行呈现为列,其中第一列是行描述。我不能使用中继器,因为我想edit and update data。我从那个开始,但它完全错误:

<asp:DataList ID="DataList1" runat="server" DataKeyField="Name" >
                        <HeaderTemplate>
                        <table style="border:1">
                        <tr><td>Name</td>
                        <tr><td>FirstName</td>
                        </HeaderTemplate>
                        <ItemTemplate>
                           <td><asp:TextBox runat="server" Text='<%#Eval("Name")%>' ID="Code" ReadOnly="true" /> </td>
                           <td><asp:TextBox runat="server" Text='<%#Eval("FirstName")%>' ID="TextBox1" ReadOnly="true" /> </td>
                       </ItemTemplate>
                       <FooterTemplate>
                       </tr>
                       </tr>
                        </table>
                       </FooterTemplate>

                       </asp:DataList>

我只能用这个

<asp:DataList ID="DataList1"  runat="server" DataKeyField="Name" RepeatDirection="Vertical" >                       
                        <ItemTemplate>                        
                           <asp:TextBox runat="server" Text='<%#Eval("Name")%>' ID="Code" ReadOnly="true" />
                           <asp:TextBox runat="server" Text='<%#Eval("FirstName")%>' ID="TextBox1" ReadOnly="true" />

然后我只缺少带有标签的第一列,我该如何添加它们?

【问题讨论】:

    标签: asp.net datalist


    【解决方案1】:

    不要使用桌子。让每个项目成为一个列表项并将您的控件放在那里。然后,您可以将每个列表项向左浮动。

    【讨论】:

    • 您的页眉可以是
        ,而您的页脚可以是
      每个项目模板都可以包含一个
    • 标记,其中包含您的服务器控件。您可能希望为
    • 标签设置宽度并让它们向左浮动。您可以搜索将列表项显示为列。
  • 什么?但这被呈现为表,c;mon
  • hmmm .. 我想知道你是否可以摆脱你正在尝试的 display = vertical。然后也许你可以把整个东西放在一张桌子上,并为你的标签放一列。它看起来不那么干净——但它可能会起作用。
  • 看看html的输出是什么。您也许可以使用 headerTemplate 来完成,并为每个标签创建一个包含多行的表格。
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签