各位,谁有DataGrid的详细资料或源码,帮帮忙,提供地址也好

解决方案 »

  1.   


    DataGrid控件
                显示并允许对Recordset对象中代表记录和字段的一系列行和列进行数据操纵。语法DataGrid说明该数据识别的DataGrid控件看起来与Grid控件类似。但是,您可以设置DataGrid控件的DataSource属性为一个Data控件,以自动填充该控件并且从Data控件的Recordset对象自动设置其列标头。这个DataGrid控件实际上是一个固定的列集合,每一列的行数都是不确定的。DataGrid 控件的每一个单元格都可以包含文本值,但不能链接或内嵌对象。可以在代码中指定当前单元格,或者用户可以使用鼠标或箭头键在运行时改变它。通过在单元格中键入或编程的方式,单元格可以交互地编辑。单元格能够被单独地选定或按照行来选定。如果一个单元格的文本太长,以致于不能在单元格中全部显示,则文本将在同一单元格内折行到下一行。要显示折行的文本,必须增加单元格的Column对象的Width属性和/或DataGrid控件的RowHeight属性。在设计时,可以通过调节列来交互地改变列宽度,或在Column对象的属性页中改变列宽度。使用DataGrid控件的Columns集合的Count属性和Recordset对象的RecordCount属性,可以决定控件中行和列的数目。DataGrid控件的可包含的行数取决于系统的资源,而列数最多可达32,767列。选择一个单元格,则ColIndex属性被设置,也就是选择了DataGrid对象的Columns集合中的一个Column对象。Column对象的Text和Value属性引用当前单元格的内容。使用Book属性能够访问当前行的数据,它能够提供对下一级Recordset对象中记录的访问。DataGrid控件中的每一列都有自己的字体、边框、自动换行、和另外一些与其他列无关的能够被设置的属性。在设计时,您可以设置列宽和行高,并且建立对用户不可见的列。您还能阻止用户在运行时改变格式。注意   如果您在设计时设置了任何一个DataGrid列属性,就必须设置它的所有属性以保持当前的设置值。注意   如果使用Move方法定位DataGrid控件,就必须使用Refresh方法强迫控件重画。除了不能支持解除绑定模式以外,DataGrid控件的功能与DBGrid控件类似。注意   该控件支持Unicode。当使用一个例如Microsoft Windows NT这样的支持Unicode的系统时,控件传递Unicode数据而无需转换。但是,在其他系统中,数据则被从ANSI转换到Unicode并转换回来。详细信息请参阅 Programmer's Guide 中的 "ANSI, DBCS, and Unicode: Definitions"。
      

  2.   

    工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)    Dim CN   As New ADODB.Connection                '定义数据库的连接
        Dim Rs   As New ADODB.Recordset    CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
        CN.Open    Rs.CursorLocation = adUseClient
        Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic    Set DataGrid1.DataSource = Rs
      

  3.   

    Dim dataname As String
    Private Sub Command1_Click()
    d.DialogTitle = "打开一个Access数据库进行编辑"
    d.FileName = ""
    d.InitDir = App.Path
    d.Filter = "Access数据库文件MDB后缀|*.mdb"
    d.ShowOpen
    If d.FileName = "" Then Exit Sublist1.Clear
    Set link1 = New ADODB.Connection                 '创建ADO连接
    link1.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source=" & d.FileName
    Set tables = link1.OpenSchema(adSchemaColumns)   '创建数据库记录集为了得到数据库中所有表名
    oldtablename = ""
    Do While Not tables.EOF
    If tables("table_name") <> oldtablename Then
    oldtablename = tables("table_name"): list1.AddItem oldtablename
    End If
    tables.MoveNext
    Loop
    If list1.ListCount = 0 Then MsgBox "数据库打开失败,或数据库不存在表", vbCritical, "错误": Exit Sub
    dataname = d.FileName
    list1.Enabled = True: Command2.Enabled = True
    list1.ListIndex = 0: list1_click
    End SubPrivate Sub Command2_Click()
    ldc.Recordset.Update    '更新ldc记录集
    End SubPrivate Sub Form_Resize()
    edit.Width = Me.ScaleWidth - 200
    edit.Height = Me.ScaleHeight - edit.Top - 50
    End SubPrivate Sub list1_click()
    'ldc控件连接数据源
    ldc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" & dataname & ";Persist Security Info=False"
    'ldc控件使用SQL命令,GET数据源数据
    ldc.RecordSource = "select * from " & list1.Text
    ldc.Refresh: Label1.Caption = "共" & ldc.Recordset.RecordCount & "条记录," & ldc.Recordset.Fields.Count & "个分类字段"
    End Sub