ComponentOne True DBGrid Pro 8
Tutorial 27 - Range Selection

In this tutorial, you will see how you can select cell ranges and perform "cut and paste" functions in True DBGrid.

  1. Start a new project.

  2. From the Visual Basic Project menu, select Components, then check the boxes labeled ComponentOne True DBGrid Pro 8.0 (OLEDB) and Microsoft ADO Data Control (OLEDB).

  3. Place an ADO Data control, a True DBGrid control and a command button on the form.

  4. Next we will connect Adodc1 to the TDBG8Demo database.

    Display the custom property pages for Adodc1. Click the General tab and select the Use Connection String option. Click Build. Choose the Microsoft Jet 4.0 OLE DB Provider option. Click Next. Enter the datasource name by pressing the Ellipsis button and locating the database (TDBGDEMO.MDB). Test the connection to make sure it works. Press OK to close the dialog window. Press the Apply button.

    • Choose the Recordsource tab. Set the Command Type to 2 – adCmdTable and the Table or Stored Procedure Name to Customers. Press the OK button to accept the selections and close the properties page.

  5. Set the TDBGrid1 DataSource to Adodc1.

  6. Change the caption of Command1 to Copy.

  7. Add the following code to Command1:

    Example Title
    Copy Code
    Private Sub Command1_Click()
    
     
    
        Dim rs As ADODB.Recordset
    
     
    
        ' String to be copied onto clipboard.
    
        Dim strTemp As String 
    
        Dim Col As Integer, row As Variant
    
     
    
        If TDBGrid1.SelRange Then
    
            ' You must format the string so it can be pasted directly into Excel
    
            ' (tab delimited).
    
            Set rs = Adodc1.Recordset.Clone
    
            For Each row In TDBGrid1.SelBookmarks
    
                rs.Bookmark = row
    
                For Col = TDBGrid1.SelStartCol To TDBGrid1.SelEndCol
    
                    strTemp = strTemp & rs(Col).Value & vbTab
    
                Next Col
    
                strTemp = strTemp & vbCrLf
    
            Next row
    
       
    
            Clipboard.Clear
    
            Clipboard.SetText strTemp, vbCFText
    
       
    
            MsgBox "Range of " & CStr(Abs(TDBGrid1.SelEndCol - TDBGrid1.SelStartCol) + 1) _
    
                & " x " & CStr(TDBGrid1.SelBookmarks.Count) & _
    
                " cells have been copied to the clipboard in TAB delimited format"
    
     
    
        Else
    
            MsgBox "Please select a range of cells"
    
     
    
        End If
    
    End Sub
    
  8. Go to the True DBGrid property pages and set the MultiSelect property to Extended.

Run the program and observe the following:

  1. Click and drag a group of cells approximately like the example below.

  2. With the cells highlighted press the Copy button.

  3. Open an Excel spreadsheet and paste the cells into Excel.

 

 


Copyright (c) GrapeCity, inc. All rights reserved.

Product Support Forum  |  Documentation Feedback