Получить выбранный элемент строки в DataGrid с помощью vbscript / vba - PullRequest
0 голосов
/ 22 октября 2018

Я могу загрузить данные в элемент управления сеткой данных, используя следующий код: Sub LoadDB ()

Const adoStateOpen          As Integer = 1

Dim oConn                   As Object
Dim rsResults               As Object
Dim oDataGrid               As Object

Dim szSQLServer             As String
Dim szSQLDatabase           As String
Dim szSQLUserID             As String
Dim szSQLPassword           As String
Dim szSQLQuery              As String
Dim szSQLConnectionString   As String




On Error GoTo ErrorHandler

szSQLServer     = "ServerName"
szSQLDatabase   = "DB1"
szSQLUserID     = "sa"
szSQLPassword   = ""
szSQLQuery      = "Select cutomerID from customers"


Set oConn           = CreateObject("ADODB.Connection")
Set rsResults       = CreateObject("ADODB.Recordset")  


'set the oDataGrid object
Set oDataGrid       = CimGetObject().GetObject("dgDataGrid").OleObject


    szSQLConnectionString = "Provider=SQLNCLI11;Data Source=" & szSQLServer & _
                         ";Database=" & szSQLDatabase & _
                         ";UID=" & szSQLUserID & _
                         ";PWD=" & szSQLPassword & ";"


    oConn.ConnectionString = szSQLConnectionString       

    'Open Database connection
    oConn.Open      


    'Run the SQL Query
    rsResults.Open szSQLQuery, oConn

    Set oDataGrid.ItemsSource = rsResults

    rsResults.Close
    oConn.close



Exit Sub

ErrorHandler:

If (rsResults.state = adoStateOpen) Then
    rsResults.close
End If

If (oConn.state = adoStateOpen) Then
    oConn.Close
End If

End Sub

Проблема в том, что я могу получить данные строк, хотя я потратил много часов на попытки.Я могу получить индекс строки (msgbox oDataGrid.SelectedIndex), которым я использую объект "System.Windows.Controls.DataGrid"

Пожалуйста, посоветуйте, спасибо, Ярив

...