【问题标题】:How to add blank row in grid view?如何在网格视图中添加空白行?
【发布时间】:2013-09-04 12:15:13
【问题描述】:

我是 ASP.NET 的新手,我将一个数据对象列表绑定到网格视图。我想在网格视图中的每条记录之后显示空白行,所以我在下面的代码中完成了此操作

List<DatabaseDTO> lstdatabase= new List<DatabaseDTO>();
foreach(int jobNumber in JobnumberList)
{
    DatabaseDTO dataObject = new DatabaseDTO();
    dataobject = GetDatabaseData(jobNumber);//Method to retrieve data and return data object 
    lstdatabase.Add(dataObject);
    lstdatabase.Add(new DatabaseDTO());
}
 gridView.DataSource = lstdatabase;
 gridView.DataBind();

它工作正常,我在网格视图中获得了所需的空白行,但我知道这不是正确的方法,因为我正在将对象添加到列表中,所以我可以添加空白行来代替我非常想要的从 aspx 页面调整此空白行。我知道还有另一种使用DataTable 的方法,但它也不是很好,因为它还会将不必要的记录添加到DataTable。因此,任何其他解决方法或解决此问题的方法都会非常棒。谢谢你。

【问题讨论】:

    标签: asp.net gridview datagridview itemtemplate


    【解决方案1】:

    试试这个

    <div>
    <asp:DataList ID="DataList1" runat="server">
        <ItemStyle ForeColor="#4A3C8C" BackColor="#E7E7FF"></ItemStyle>
        <HeaderTemplate>
            <table width="900px">
                <tr>
                    <td width="300px">
                        <b>Name</b>
                    </td>
                    <td width="300px">
                        <b>Account No</b>
                    </td>
                    <td width="300px">
                        <b>Company</b>
                    </td>
                </tr>
            </table>
        </HeaderTemplate>
        <ItemTemplate>
            <table width="900px">
                <tr>
                    <td align="left" width="300px">
                        <%# DataBinder.Eval(Container.DataItem, "Name")%>
                    </td>
                    <td align="left" width="300px">
                        <%# DataBinder.Eval(Container.DataItem, "AccountNo")%>
                    </td>
                    <td align="left" width="300px">
                        <%# DataBinder.Eval(Container.DataItem, "Company")%>
                    </td>
                </tr>
                <tr>
                    <td align="left" width="300px">
                        <br />
                    </td>
                    <td align="left" width="300px">
                        <br />
                    </td>
                    <td align="left" width="300px">
                        <br />
                    </td>
                </tr>
            </table>
        </ItemTemplate>
        <HeaderStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#4A3C8C"></HeaderStyle>
         <SeparatorTemplate><br /></SeparatorTemplate>
    </asp:DataList>
    </div>
    

    【讨论】:

      【解决方案2】:

      如果数据源中不存在空行,则数据网格中不能有空行。你得想,毕竟网格数据只是你的数据源的一种表示,如果有空行,网格就会显示,如果没有,就不显示。

      【讨论】:

      • 因此,在 item -template 的帮助下,可以代替数据网格来完成所需的功能
      【解决方案3】:

      编写一个存储过程从 sql server 获取输出参数,如果记录不存在则绑定到网格视图..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-08
        • 2020-12-08
        • 2013-07-25
        • 2017-02-23
        • 1970-01-01
        • 2013-05-24
        • 2020-11-06
        • 1970-01-01
        相关资源
        最近更新 更多