程序目的:用datagrid动态显示数据,当按下按钮时,adodc的数据源发生变化(查询语句发生变化,要查的列不变),让datagrid的显示也发生变化
程序代码如下
Adodc1.RecordSource = QueryStr 'SQL语句
Adodc1.Recordset.Requery
Adodc1.Refresh
DataGrid1.ReBind
DataGrid1.Refresh
在改变数据源前已经将datagrid的column的caption设置好了,并且长宽也设置好了
当程序执行后,在datagrid第一行出现小黑三角,但是没有数据显示出来当我用
Adodc1.RecordSource = QueryStr 'SQL语句
Adodc1.Recordset.Requery
Adodc1.Refresh
DataGrid1.ClearFields
DataGrid1.ReBind
DataGrid1.Refresh
这样的时候datagrid出现数据,但是datagrid的column的caption不是我想要的,而且长宽也默认了请问:如何才能让新的数据显示在我已经设置好column的caption的datagrid里面
程序代码如下
Adodc1.RecordSource = QueryStr 'SQL语句
Adodc1.Recordset.Requery
Adodc1.Refresh
DataGrid1.ReBind
DataGrid1.Refresh
在改变数据源前已经将datagrid的column的caption设置好了,并且长宽也设置好了
当程序执行后,在datagrid第一行出现小黑三角,但是没有数据显示出来当我用
Adodc1.RecordSource = QueryStr 'SQL语句
Adodc1.Recordset.Requery
Adodc1.Refresh
DataGrid1.ClearFields
DataGrid1.ReBind
DataGrid1.Refresh
这样的时候datagrid出现数据,但是datagrid的column的caption不是我想要的,而且长宽也默认了请问:如何才能让新的数据显示在我已经设置好column的caption的datagrid里面
Adodc1.RecordSource = QueryStr 'SQL语句
Adodc1.Recordset.Requery
Adodc1.Refresh
DataGrid1.ReBind
DataGrid1.Refresh
这个能在datagrid显示出记录的条数,记录有几条,他就出现几行,但是里面没有任何数据,不知道怎么会事
Dim rs As New ADODB.Recordset
rs.Open SQL, db_conn
set datagrid1.DataSource=rs
'设置列所帮定的对象
With DataGrid1
.Columns(0).DataField="ColumnName"
End With
DataGrid1.Rebind
代码如下:
Dim Conn As New ADODB.Connection '建立连接对象
Dim Rst As New ADODB.Recordset '建立记录集对象
Conn.Open "Provider=SQLOLEDB;Data Source=***;Initial Catalog=***;User ID=sa;Password=***" '连接字符串
Dim QueryStr As String
QueryStr = "***"
Rst.CursorLocation = adUseClient
Rst.Open QueryStr, Conn, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = Rst
DataGrid1.Refresh
出现的现象为:能在datagrid显示出记录的条数,记录有几条,他就出现几行,但是里面还是没有任何数据
根本不改变caption
建议初始化时取一个空纪录,调用一次Rebind,再改Caption。
只是指定了Column的caption
问题我已经解决了
我用的笨办法
如下:
Adodc1.RecordSource = str
Adodc1.Refresh
DataGrid1.ClearFields
DataGrid1.ReBind
DataGrid1.Columns(0).Caption = "a"
DataGrid1.Columns(0).Width = 1000
DataGrid1.Columns(1).Caption = "b"
DataGrid1.Columns(1).Width = 1000
DataGrid1.Columns(2).Caption = "c"
DataGrid1.Columns(2).Width = 1000
DataGrid1.Refresh
谢谢你们