Gridview处理null

时间:2013-11-05 15:07:00

标签: asp.net custom-controls

我需要能够在读取和写入时区分我的gridview中的NULL和空数据,并使用自动生成的列,因为gridview将用于多个数据集。

我尝试按如下方式创建“nullGridView”控件。我把代码文件放到我的App_Code目录中。

Namespace Xcontrol
    Partial Public Class nullGridView
        Inherits System.Web.UI.WebControls.GridView

        Protected Overrides Function CreateAutoGeneratedColumn(ByVal fieldProperties As AutoGeneratedFieldProperties) As AutoGeneratedField

            ' Create an AutoGeneratedField object. 
            Dim field As New AutoGeneratedField(fieldProperties.DataField)

            ' Set the properties of the AutoGeneratedField using 
            ' the values from the AutoGeneratedFieldProperties  
            ' object contained in the fieldProperties parameter. 
            CType(field, IStateManager).TrackViewState()
            field.HeaderText = fieldProperties.Name
            field.SortExpression = fieldProperties.Name
            field.ReadOnly = fieldProperties.IsReadOnly
            field.DataType = fieldProperties.Type
            field.NullDisplayText = "NULL"

            Return field

        End Function

    End Class
End Namespace

在我的.aspx文件中,我有参考资料

<%@ Register TagPrefix="Xcon" Namespace="Xcontrol" %>
...
<Xcon:nullGridView ID="gv2" runat="server"></Xcon:nullGridView>

在设计模式期间,一切都很好,智能感知显示Gridview的所有属性。 但是当我尝试编译时,我得到“Type”Xcontrol.nullGridView'没有被定义。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我曾多次在App_Code文件夹中创建文件时无论如何都无法编译。我发现有效的方法是将有问题的文件移出该文件夹并移到根目录上,或者在任何地方移动,然后突然间它会神奇地编译。然后,您可以将其移回App_Code文件夹。所有编辑都应该从那里开始工作。这是一个奇怪的问题。

至于理解为什么它在App_Code文件夹中不起作用,我发现这篇文章非常有帮助:

App_Code folder doesn’t work with Web Application Projects (WAPs)

您可能最好在根目录上创建 控件 CustomControls 文件夹并放置文件(s)那里。