Asp.net GridView赢得';t显示

Asp.net GridView赢得';t显示,asp.net,sql,gridview,Asp.net,Sql,Gridview,数据表正在返回正确数量的行/记录。但由于某些原因,我无法使GridView进行渲染。完全没有显示任何内容 编辑:GridView返回“rowerrrs”和“Has Errors”列。但不是我的数据 Dim ConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings("oakfratintdbConnectionString").ConnectionString Dim Conn As New

数据表正在返回正确数量的行/记录。但由于某些原因,我无法使GridView进行渲染。完全没有显示任何内容

编辑:GridView返回“rowerrrs”和“Has Errors”列。但不是我的数据

Dim ConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings("oakfratintdbConnectionString").ConnectionString
Dim Conn As New SqlConnection(ConnString)
Dim cmd As New SqlCommand("SELECT * FROM [OFCInterments]", Conn)

Dim DA As New SqlDataAdapter(cmd)
Dim DT As New DataTable
'WHERE ([FirstName] = @FirstName)
cmd.Parameters.AddWithValue("@FirstName", "Mike")


Try
    Conn.Open()
    DA.SelectCommand = cmd
    DA.Fill(DT)
    GridView1.DataSource = DT
    GridView1.DataBind()

    If DT.Rows.Count > 0 Then
        Dim NoResultsText As String = DT.Rows.Count.ToString + " records found."
        txtStatys.Text = NoResultsText
        txtStatys.Visible = True


    End If


Catch ex As Exception
    Throw ex
Finally
    Conn.Close()
    DA.Dispose()
    Conn.Dispose()


End Try
GridView返回“rowerrrs”和“Has Errors”列。但不是我的数据

Dim ConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings("oakfratintdbConnectionString").ConnectionString
Dim Conn As New SqlConnection(ConnString)
Dim cmd As New SqlCommand("SELECT * FROM [OFCInterments]", Conn)

Dim DA As New SqlDataAdapter(cmd)
Dim DT As New DataTable
'WHERE ([FirstName] = @FirstName)
cmd.Parameters.AddWithValue("@FirstName", "Mike")


Try
    Conn.Open()
    DA.SelectCommand = cmd
    DA.Fill(DT)
    GridView1.DataSource = DT
    GridView1.DataBind()

    If DT.Rows.Count > 0 Then
        Dim NoResultsText As String = DT.Rows.Count.ToString + " records found."
        txtStatys.Text = NoResultsText
        txtStatys.Visible = True


    End If


Catch ex As Exception
    Throw ex
Finally
    Conn.Close()
    DA.Dispose()
    Conn.Dispose()


End Try
这不是
GridView
的属性,而是
DataTable
的属性

您可以使用来检索包含所有行错误的
数据表。检查每个
DataRow
的属性,您就会知道异常的原因。您可以在调试器中完成这一切


您应该考虑以下几点:

GridView未显示,可能有以下原因:

  • GridView是否可见(以及它的所有父级,因为它继承了属性)
  • 您是否在那里注册了
    RowDataBound
    事件和未捕获的异常
一般性建议:

  • 不要仅仅使用
    Catch
    块来重新抛出异常(即使是
    Throw
    单独使用也会更好,因为它会保留堆栈跟踪)。相反,不要捕捉它或用它做一些有用的事情(f.e.日志记录)
  • 使用来处理ADO.NET对象,如连接(隐式关闭它)

使用断点…在整个过程中,“HasErrors”属性都会重新标记为“false”。您在这一行
DA.Fill(DT)
的哪里设置了断点?然后可以在调试器中执行这一行。您已经编辑了您的问题,并提到网格返回“HasErrors”。这意味着什么,你在哪里见过它?我的Gridview呈现“RowError”和“HasErrors”列。好的,但是这些值来自基础数据表,而不是Gridview。也许您还应该向我们展示带有列的aspx标记。您是否有
AutoGenerateColumns=true