我是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
。所以任何其他工作或解决方法都会非常好。谢谢。
答案 0 :(得分: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>
答案 1 :(得分:0)
如果Datagrid中没有空行,则数据源中不存在空行。您必须认为,在所有网格数据只是数据源的表示之后,如果有一个空行,网格将显示它,如果没有,则不会。
答案 2 :(得分:0)
编写存储过程以从sql server获取输出参数,如果没有记录,则绑定到网格视图。