2010-09-27 54 views
3

标记ASP.NET:我的GridView控件只是部分有填充本身....(??)

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> 
    <Columns> 
     <asp:BoundField DataField="insured_first_name" HeaderText="First Name" /> 
     <asp:BoundField DataField="insured_first_name" HeaderText="Middle Name" /> 
     <asp:BoundField DataField="insured_last_name" HeaderText="Last Name" /> 
    </Columns> 
</asp:GridView> 

代码

GridView1.DataSource = _dataSet 
DataBind() 

每当我的GridView的填充,如果是没有价值从我的_dataSet返回一个字段,我的GridView停止后填充。它不应该跳过这一点,并继续填充网格的其余部分?看来GridView不会接受一个空/空值。任何解决此问题的方法?

+0

什么是在DataSet ?它来自什么? – SLaks 2010-09-27 19:44:34

+0

我的DataSet正在被存储过程填充。它有一堆列,其中,我只想要其中的一些,我也想要不同的名称。这就是为什么我将它们设置在控制系统中。 – user408869 2010-09-27 19:48:39

回答

3

null导致dataview错误事件被触发,您的gridview没有从中恢复。

您应该在将它们添加为gridview的数据源之前对空值进行消毒。

退房: http://msdn.microsoft.com/en-us/library/ms366709.aspx 欲了解更多信息。

+0

太好了,谢谢。我的网格现在完全填充,但是您知道如何获得我输入的'NullDisplayText'以实际显示在我的网格中吗?我为nullDisplayText放置了“---”,购买我的网格只留下一个空单元格。对我来说不是一个真正的问题,但如果我可以让我的“---”文字出现,这将是很好的。再次感谢。 – user408869 2010-09-27 19:58:21

2

存储过程没有返回具有NULL值的行。通常,问题存在于存储过程的SQL语句中;通常催化剂是一个连接问题。在SQL Server Management Studio中测试存储过程以确定结果是否符合您的期望。

GridView的显示空值的单元格没有问题。他们将只是空单元格。在SQL数据库中分配默认值而不是使用NULL值也是一种好的做法。 NULL值会导致诸如位域之类的逻辑问题。如果一个人正在检查1或0,例如,他或她可能根本不会考虑为NULL,直到生产阶段后和方案已经开发和测试的下滑..

希望帮助