1.列表的字段名我想换成同一个数据库的其它表,怎么换?
2.删除一整行如何实现呢?
3.可不可以指定它的datasource为一个ADO对象而不是一个控件?
4.如何让他只能查询而不能编辑呢?
5.如何显示某一个记录集?可以是一个ado.recordset.
请各位多多相助.
在此感谢!
回答若干个也可以.

解决方案 »

  1.   

    首先,由于我很久不用datagrid了,所以帮不上什么忙。
    3.datasource可以直接是一个ADO的结果集对象(rs)。首先
    建议你使用一些其他的第三方控件(Spread,TBGrid)控件
    你可以去google搜索,很多下载的。
    你需要的功能基本上都能实现。而且还更加强大。
      

  2.   

    Option Explicit
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.RecordsetPrivate Sub Command1_Click()
        rs.Delete
    End SubPrivate Sub Form_Load()
        DataGrid1.AllowAddNew = False
        DataGrid1.AllowUpdate = False
        DataGrid1.AllowDelete = False
        cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test\db1.MDB;Persist Security Info=False"
        cn.Open
        rs.CursorLocation = adUseClient
        rs.LockType = adLockOptimistic
        rs.Open "select * from Xldata", cn
        Set DataGrid1.DataSource = rs
    End Sub
      

  3.   

    Private Sub Command2_Click()
        rs.Close
        rs.Open "select * from X2data", cn
        Set DataGrid1.DataSource = Nothing
        Set DataGrid1.DataSource = rs
    End Sub
      

  4.   

    可以用POPMENU来实现删除
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Private Sub DataGrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button = 2 Then
        PopupMenu pop
        End If
    End SubPrivate Sub Del_Click()
        cnn.Execute "delete from Demo where id='" & rs!id & "'"
        rs.Requery
    End SubPrivate Sub Form_Load()
        Set cnn = New ADODB.Connection
        Set rs = New ADODB.Recordset
        cnn.CursorLocation = adUseClient
        cnn.ConnectionString = "Provider=SQLOLEDB.1;Data Source=localhost;Initial Catalog=pubs;User ID=sa"
        cnn.Open
        Dim SQL As String
        SQL = "select * from Demo"
        rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
        Set DataGrid1.DataSource = rs
    End Sub
      

  5.   

    我不大清楚popmenu的用法。
    能给我讲清楚一点吗?
    谢谢!
      

  6.   

    在菜单编辑器中加入一个菜单名称随便取 如POP,将 可见 选项取消
    然后再在POP后加入一个子菜单 Del 设为可见使用 PopupMenu 菜单名 就可以设计的右键菜单弹出用法
    PopupMenu menuname, flags, x, y, boldcommand
    自己查一下MSDN吧
      

  7.   

    1.可以用select 字段名 as 字段名来显示出其它表
    2.修改datagrid控件属性,使其选中某行时高亮度显示,再recordset.delete,recordset.movenext
    3.选中"工程"-->"引用"里面的microsoft activex date objects 2.5 library后就可以定义ado对像
    4.把datagrid1.enable.false
    5.ado.recordset.feild(数字),可以调用某个记录集
      

  8.   

    请问楼上的。
    是datagrid的哪个属性呢?
    还有我如何增加一行呢?
    我用SQL的UPDATE已经更新了。
    如何显示到Datagrid中去呢?
    在此感谢!!!
    解决问题一定高分相送。
      

  9.   

    请问lustful
        cnn.Execute "delete from Demo where id='" & rs!id & "'"
    其中的!是不是.?
    好像不行。
    右键是弹出菜单了。
    但是点击却没有效果。
    能在说得清楚一点吗?