GridView无法显示

时间:2012-11-13 22:27:20

标签: asp.net sql gridview

数据表返回正确数量的行/记录。但由于某种原因,我无法将我的GridView变为Render ..根本没有显示............

编辑: GridView返回“RowErorrs”和“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

1 个答案:

答案 0 :(得分:2)

  

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

这不是GridView的属性,而是DataTable的属性。

DataTable.HasErrors property

您可以使用DataTable.GetErrors()检索包含所有行错误的DataTable。检查每个DataRow的{​​{3}}属性,您就知道了异常的原因。您可以在调试器RowError中完成所有操作。


您应该考虑以下几点:

GridView没有被调度,原因可能是:

  • GridView是否可见(以及它所有的父节点,因为它继承了属性)?
  • 您是否在那里注册了RowDataBound事件和未被捕获的例外?

一般建议:

  • 不要仅使用Catch块来重新抛出异常(即使Throw单独会更好,因为它会保留堆栈跟踪)。相反,不要抓住它或做一些有用的东西(例如伐木)。
  • 使用quick-watch-window处理您的ADO.NET对象(如连接)(隐含地将其关闭)