Public Class Data
Protected clsCommon As einoCommon.Common ' use the einoCommon
Private ws As einoWS.einoWSSoapClient ' use the WebService
Private Sub Data_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
ws = New einoWS.einoWSSoapClient()
clsCommon = New einoCommon.Common()
Dim stSql As String
stSql = "SELECT ClassId,ClassNm FROM B"
Dim dtlData As DataTable
dtlData = ws.GetData(stSql).Tables(0) 'get produce dataset
Dim cell As New DataGridViewComboBoxCell
Dim col As New DataGridViewComboBoxColumn
Dim drw As DataRow
ComboBox1.Items.Clear()
For Each drw In dtlData.Rows
ComboBox1.Items.Add(New ComboItem(drw(1), drw(0)))
cell.Items.Add(New ComboItem(drw(1), drw(0)))
Next
ComboBox1.SelectedIndex = 0
col.CellTemplate = cell
'col.HeaderText = "ClassNm"
col.DataPropertyName = "ClassNm"
DataGridView1.Columns.Insert(DataGridView1.Columns("ClassNm").Index, col)
DataGridView1.Columns.Remove("ClassNm")
col.Name = "ClassNm"
cell.DisplayMember = "Caption"
cell.ValueMember = "Value"
'DataGridView1.Columns.Add(col)
Catch ex As Exception
End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim stSql As String
Dim itRowIdx As Integer
Dim stStuId As String
Dim stStuNm As String
Dim stClassNm As String
Dim cell As New DataGridViewComboBoxCell
DataGridView1.Rows.Clear()
stSql = "SELECT A.StuId, A.StuNm, B.ClassNm,B.ClassId "
stSql &= "FROM "
stSql &= "A INNER JOIN B ON A.ClassId = B.ClassId "
stSql &= "Where B.ClassId = '" & CType(ComboBox1.SelectedItem, ComboItem).Value & "'"
Dim dtlData As DataTable
dtlData = ws.GetData(stSql).Tables(0) 'get UnionMember dataset
If dtlData.Rows.Count <> 0 Then
For itRowIdx = 0 To dtlData.Rows.Count - 1
stStuId = dtlData.Rows(itRowIdx)(0)
stStuNm = dtlData.Rows(itRowIdx)(1)
'stClassNm = dtlData.Rows(itRowIdx)(2)
'DataGridView1.Rows.Add(stStuId, stStuNm) DataGridView1.Rows(itRowIdx).Cells(3).Value = dtlData.Rows(itRowIdx)(3).ToString
Next
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim gdr As DataGridViewRow
Dim stId As String
For Each gdr In DataGridView1.Rows
stId = "Value:" & gdr.Cells(3).Value & vbCrLf
stId &= "Caption:" & gdr.Cells(3).FormattedValue
MessageBox.Show(stId)
Next
End Sub
End Class