我用的是visual studio.net 2003 显示XS表的内容出现异常,正常显示的如下
XH XM XB CSSJ ZY ZXF JXJ BGF MM BZ ZP 
001101 王林 False 1980-2-10 0:00:00 计算机科学与技术 50 0 False 12345     
001102 程明 False 1981-2-1 0:00:00 计算机科学与技术 50 500 True 12345     
001103 王燕 True 1979-10-6 0:00:00 计算机科学与技术 50 0 False 12345     
但我的只显示前面的表头:
XH XM XB CSSJ ZY ZXF JXJ BGF MM BZ ZP
下面表里面的内容不显示(我用的是oledbconnection,oledbcommand,dataset控件,显示用的是datagrid控件,我是直接在vs.net 2003上拖拽控件设置相关属性的,但是就是不成功),请问如何解决啊?

解决方案 »

  1.   

    应该是你绑定的代码有问题吧,你可以输出一下dataset中行数,看总共有几行
      

  2.   

    AutoGenerateColumns="true"设置了吗》
    DataGrid1.DataSource=ds
    DataGrid1.DataBind()
      

  3.   

    DataGrid1.DataBind()可以再datagrid控件的属性中设置吗?
      

  4.   

    AutoGenerateColumns="true"设置了吗》
    DataGrid1.DataSource=ds
    这2项我已经在datagrid控件的属性中设置过了 还是不行
    DataGrid1.DataBind()我实在page_LOAD中写的代码
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '在此处放置初始化页的用户代码
            If Not IsPostBack Then            DataGrid1.DataBind()
                conn.Close()        End If
        End Sub
      

  5.   

    可以成功的代码如下:
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    <script Language="VB" Runat="Server">
    Sub Page_Load(Sender As Object, e As EventArgs)
        If Not IsPostBack Then
           Dim conn As New OleDbConnection()
           Dim cmd As New OleDbCommand()
           Dim DS As New DataSet()                     '定义数据集对象
           conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
    Server.MapPath("XSCJ.mdb")                         '定义连接串
           conn.Open()                                 '打开到数据源的连接
           cmd.Connection = conn                       '设置Command对象的连接属性
           cmd.CommandText = "Select * from XS"        '设置Command对象执行的SQL命令     
           Dim OleDbDtAdpt As New OleDbDataAdapter(cmd)'创建DataAdapter对象
           OleDbDtAdpt.Fill(DS,"XS")                   '填充数据集
           DataGrid1.DataSource = DS                   '定义DataGrid对象的数据源
           DataGrid1.DataBind()                        '绑定DataGrid对象的数据源
           conn.Close()                                '关闭到数据源的连接
        End if
    End Sub
    </script>
    <html><head><title>ADO.NET样例</title></head>
    <body><h1 align="center"><font face="隶书">学生信息表</font></h1>
    <form runat="server">
    <asp:DataGrid runat="server" id="DataGrid1" AutoGenerateColumns="True"
         HorizontalAlign="Center">
       <HeaderStyle Font-Size="Small" Font-Bold="True" HorizontalAlign="Center" 
          ForeColor="#FFFFCC" BackColor="#990000" />
       <ItemStyle Font-Size="X-Small" ForeColor="#330099" />
    </asp:DataGrid></form></body></html>
    以上代码中的
      Dim OleDbDtAdpt As New OleDbDataAdapter(cmd)'创建DataAdapter对象
           OleDbDtAdpt.Fill(DS,"XS")                   '填充数据集
           DataGrid1.DataBind()  
    在vs.net 2003中控件是否可以直接通过属性修改还是必须用写代码?   
      

  6.   

    Dim   Conn   As   Data.OleDb.OleDbConnection 
    Dim   Ad   As   OleDb.OleDbDataAdapter 
    Dim   dv   As   Data.DataView 
    Dim   ds   As   DataSet   =   New   DataSet() 
    Conn   =   New   OleDb.OleDbConnection( "") 
    Conn.Open() 
    Ad   =   New   OleDb.OleDbDataAdapter( "SELECT   id,title   FROM   Tb",   Conn) 
    Ad.Fill(ds,   "a") 
    dv   =   ds.Tables( "a").DefaultView 
    DataGrid1.DataSource   =   dv 
    DataGrid1.DataBind() 
    AutoGenerateColumns=true
      

  7.   

    楼上的写的是代码,用代码我知道可以,我的意思是问直接用VS.NET 2003通过控件修改属性等方法是否可以实现DataGrid数据的显示 我的一直不行 只能显示表头不能显示内容
      

  8.   

    If Not IsPostBack Then
      DataGrid1.DataSouce = xxxx '你没有这行啊
      DataGrid1.DataBind()
      conn.Close()
      

  9.   

    DataGrid1.DataSource=ds
    这一行可以在DataGrid控件中直接通过属性设置,我就没有写,应该可以吧
      

  10.   

    Ex2_2.aspx中完整代码如下:
    <%@ Page Language="vb" AutoEventWireup="false" Codebehind="Ex8-2.aspx.vb" Inherits="Ex2_2.Ex8_2"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <title>ADO.NET样例</title>
    </HEAD>
    <body>
    <h1 align="center"><font face="隶书">学生信息表</font></h1>
    <form id="Form1" runat="server">
    <asp:datagrid id=DataGrid1 runat="server" HorizontalAlign="Center" DataSource="<%# DataSet11 %>" DataMember="XS">
    <ItemStyle Font-Size="X-Small" ForeColor="#330099"></ItemStyle>
    <HeaderStyle Font-Size="Small" Font-Bold="True" HorizontalAlign="Center" ForeColor="#FFFFCC"
    BackColor="#990000"></HeaderStyle>
    </asp:datagrid></form>
    </body>
    </HTML>Ex2_2.aspx.vb中部分代码如下:
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '在此处放置初始化页的用户代码
            If Not IsPostBack Then            DataGrid1.DataBind()
                conn.Close()        End If
        End Sub
    End Class
    请帮忙看看可有哪地方出问题了?