Asp.net 嵌套数据列表中的表设计

Asp.net 嵌套数据列表中的表设计,asp.net,html-table,nested-datalist,Asp.net,Html Table,Nested Datalist,我使用下面的代码来查看像图1这样的结果,但像图2这样的结果即将出现。应该做些什么来解决这个问题 aspx代码: <asp:datalist id="dtlUrun" runat="server" RepeatDirection="Horizontal"> <ItemTemplate> <table class="dtlTable"> <tr>

我使用下面的代码来查看像图1这样的结果,但像图2这样的结果即将出现。应该做些什么来解决这个问题

aspx代码:

<asp:datalist id="dtlUrun" runat="server" RepeatDirection="Horizontal">
            <ItemTemplate>
                <table class="dtlTable">
                    <tr>
                        <td class="dtlHeader"></td>
                        <td class="dtlHeader"><%#DataBinder.Eval(Container.DataItem, "DS_MAMUL")%></td>
                    </tr>
                    <asp:DataList ID="dtlBayi" Runat="server">
                        <ItemTemplate>
                            <tr>
                                <td class="dtlColumn"><%#DataBinder.Eval(Container.DataItem, "DS_BAYI")%></td>
                                <td class="dtlColumn"><%#DataBinder.Eval(Container.DataItem, "MT_MIKTAR")%></td>
                            </tr>
                        </ItemTemplate>
                    </asp:DataList>
                </table>
            </ItemTemplate>
        </asp:datalist>
图1:


图2:

从代码中我可以看出,第一个数据列表与两个标题项绑定,然后在其中包含各个元素。模板为每个节创建一个表,但默认情况下,表将是块级元素。我猜你可以用CSS来解决这个问题,但我必须检查一下。我个人会这样做

<asp:dataList id="" runat="server">
    <headertemplate>
        <table>
            <tr>
    </headertemplate>
    <itemtemplate>
        <td>
            <!-- Your template here -->
        </td>
    </itemtemplate>
    <footertemplate>
        </tr></table>
    </footertemplate>
</asp:datalist>


这实际上是将两个表放在一个较大表的单元格中,所有表都在数据列表中。

headertemplate中的标记在footertemplate中看不到他的结束标记。你确定你的代码是真的吗

你说:

我猜你可以用CSS解决这个问题


请让我们用Css来修复它:)

图像链接现在已经死了,这使得问题变得不清楚。
Private Sub bindGrid()
    Dim objUrun As New caynet_class.cls_LU_MAMUL
    Me.dtlUrun.DataSource = objUrun.GetBy_MAMUL_ARALIGI(Session("CAY_NEVILERI_SATIS_KRITER")("MAMUL_NO1"), Session("CAY_NEVILERI_SATIS_KRITER")("MAMUL_NO2"))
    Me.dtlUrun.DataBind()
End Sub

Private Sub dtlUrun_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles dtlUrun.ItemDataBound
    If Not e.Item.ItemIndex = -1 Then
        Dim mamulNo As Integer = CType(DataBinder.Eval(e.Item.DataItem, "MAMUL_NO"), Integer)
        CType(e.Item.FindControl("dtlBayi"), DataList).DataSource = caynet_class.cls_RAPOR_SATIS.Get_Cay_Nevileri_Satis2(mamulNo)
        CType(e.Item.FindControl("dtlBayi"), DataList).DataBind()
        Session("dtlDurum") = False
    End If
End Sub
<asp:dataList id="" runat="server">
    <headertemplate>
        <table>
            <tr>
    </headertemplate>
    <itemtemplate>
        <td>
            <!-- Your template here -->
        </td>
    </itemtemplate>
    <footertemplate>
        </tr></table>
    </footertemplate>
</asp:datalist>