1



我有一个小问题,我找不到。
是否可以以某种方式将列移动到网格视图中的下一行?

像这样:
列放置到gridview中的下一行

这确实是解释我正在尝试做的事情的最佳方式。
这里有一些代码给你们好伙伴。

ASP.NET

<asp:GridView 
                runat="server" 
                ID="Notifications" 
                CssClass="Notifications" 
                PageSize="30" 
                AllowPaging="true" 
                AutoGenerateColumns="false" 
                ShowHeader="false" 
                OnRowCreated="Notifications_RowCreated">
            <RowStyle CssClass="TableRow" />
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Image ID="IMG_Seen" runat="server" AlternateText="Error" ImageUrl='<%# Eval("cSeen") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Image ID="IMG_Status" runat="server" AlternateText="Error" ImageUrl='<%# Eval("cStatus") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Label ID="L_Title" runat="server" Text='<%# Eval("cTitle") %>' />
                    </ItemTemplate>
                </asp:TemplateField>                    
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Label ID="L_Date" runat="server" Text='<%# Eval("cDate") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Label ID="L_Description" runat="server" Text='<%# Eval("cDescription") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:LinkButton ID="lLB_inkTo" runat="server" PostBackUrl='<%# Eval("clinkto") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>   
            </asp:GridView>


C# -Gridview 绑定方法

void Init_Notifications(XDocument xDoc) 
    {
        GridView GV = Notifications;           
        var Root = from p in xDoc.Descendants("User") select p;
        var getNotify = from n in Root.Descendants("Notifications") select n;
        foreach (XElement xe in getNotify.Nodes()) 
        {
            NotifList.Add(new Notification(
                xe.Attribute("ID").Value,
                xe.Attribute("Status").Value,
                xe.Attribute("Title").Value,
                xe.Attribute("Seen").Value,
                xe.Attribute("linkTo").Value,
                xe.Element("Description").Value
                )
            );
        }
        DataTable DT = new DataTable();
        DT.Columns.Add("cDate", typeof(System.String));
        DT.Columns.Add("cStatus", typeof(System.String));
        DT.Columns.Add("cTitle", typeof(System.String));
        DT.Columns.Add("cSeen", typeof(System.String));
        DT.Columns.Add("cDescription", typeof(System.String));
        DT.Columns.Add("clinkTo", typeof(System.String));
        foreach (Notification n in NotifList)
        {
            object[] RowContent = 
            {
                n.pDate,
                n.pStatus,
                n.pTitle,
                n.pSeen,                    
                n.pDescription,
                n.pLinkTo
            };
            DT.Rows.Add(RowContent);
        }
        Notifications.DataSource = DT;
        Notifications.DataBind();
    }


编辑:
我基本上试图通过代码隐藏或 aspx 代码以某种方式将其转换/移动到新行中。
我也无法使用 CSS 让它看起来很棒:/


我真的希望有人能帮助我解决这个问题!
感谢您花时间阅读本文!

4

1 回答 1

1

是的,这当然是可能的 =) 您可以通过将 gridview 列呈现为您的 aspx 页面上的新表格行来实现这一点。只需在您的gridview中添加一个模板字段并包含这样的tr,td标签

<asp:TemplateField>
                 <ItemTemplate>
                        <tr>
                            <td colspan="100%">
                                <!-- Insert your label, boundfield controls etc -->
                            </td>
                        </tr>
                 </ItemTemplate>
 </asp:TemplateField>

样本

于 2013-10-10T09:20:54.807 回答