こんにちはこの割り当ては11/12日曜日の深夜に予定されているため、これはやや緊急です。
コンボボックスアイテムを選択してから、下のテキストボックスに表示するデータを取得することで、助けが必要なものを添付しました
どうやってアプローチすればいいのかわからないので、コンボボックスをダブルクリックしました。これが、IDを表示するために始めたものです。私は他に何も試みていません。うまくいかなかったので、試したことをコメントアウトしました。
Public Class AppointmentsForm
Private aAppointments As New Appointments
'Instance of customers
Private aCustomers As New Customers
Private Sub AppointmentsForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'Combobox must always have a DataSource, Display Member, and Value Member
'Load the ComboBox with customer name
cboCustomer.DataSource = aCustomers.Items
cboCustomer.DisplayMember = "CustName"
cboCustomer.ValueMember = "CustId"
cboCustomer.SelectedIndex = -1 'no items selected
' load the datagridview
ApptDataGridView.DataSource = aAppointments.Items
'do not show TypeID
ApptDataGridView.Columns(1).Visible = False
'.Columns(1) TypeID has index of 1 as it is Column 2 in the data sources
End Sub
Private Sub btnDelete_Click(sender As System.Object, e As System.EventArgs) Handles btnDelete.Click
'make sure that a record is selected first
If ApptDataGridView.SelectedRows.Count > 0 Then
Dim apptid As Integer
apptid = ApptDataGridView.SelectedRows(0).Cells(0).Value
'Delete selected record by calling the delte function
aAppointments.Delete(apptid)
End If
End Sub
Private Sub btnEdit_Click(sender As System.Object, e As System.EventArgs) Handles btnEdit.Click
'make sure row is selected get that row from the table ..... need to find by ID
'This is a query which you will create in the class
'Transfer information from that row to the form, display the form
If ApptDataGridView.SelectedRows.Count > 0 Then
modAppointmentsForm.ApptID = ApptDataGridView.SelectedRows(0).Cells(0).Value
modAppointmentsForm.ShowDialog()
End If
End Sub
End Class
予定のクラスは次のとおりです。
パブリッククラスの予定
Public adapter As New CompanyDataSetTableAdapters.SalesStaffTableAdapter
'error variable
Public Shared Property LastError As String
Public ReadOnly Property Items() As DataTable
Get
Dim table As DataTable = adapter.GetData
'sorted by Appointment id
table.DefaultView.Sort = "ID"
Return table
End Get
End Property
'create a function to combine date and time
Public Shared Function CombinedDateTime(aDate As DateTime, aTime As DateTime) As DateTime
'declare timespan variable
Dim tsDate As New TimeSpan(aTime.Hour, aTime.Minute, 0)
Return aDate.Add(tsDate)
End Function
これが顧客のためのクラスです:
パブリッククラスのお客様
'create a object variable (tableadapter)
'this will be used to creat instances of this class in the form
Private adapter As New CompanyDataSetTableAdapters.SalesStaffTableAdapter
'property to return a table using the GetData method
Public ReadOnly Property Items() As DataTable
Get
Dim table As DataTable = adapter.GetData
table.DefaultView.Sort = "First_Name"
Return table
End Get
End Property
'create a function to filter the customers by custid
Public Function GetByCustomerId(custid As Short) As DataTable
Dim table As DataTable = adapter.GetData 'entire table
'filter to get desired row(s)
table.DefaultView.RowFilter = " ID = " & custid
Return table
End Function
エンドクラス
コンボボックスとテキストボックスのID、姓、名などのフォームのコードは次のとおりです。コンボボックスアイテムが選択されたときにデータを表示する必要があります。もう一度、書き込み時にIDが表示されます:IDTextBox.Text = SalesStaffComboBox.SelectedValue.ToStringただし、他のテキストボックスでも同じことを行う場合(LastName.Text = SalesStaffComboBox.SelectedValue.ToString _ ____ FirstName.Text = SalesStaffComboBox.SelectedValue.ToString )ID番号も同様に表示されます。
パブリッククラスfrmUpdateSalary'必要なクラスのインスタンスPrivateaCustomersAs New Customers Private aAppointments As New Appointments
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
Me.Close()
End Sub
Private Sub frmUpdateSalary_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
SalesStaffComboBox.DataSource = aCustomers.Items
SalesStaffComboBox.DisplayMember = "First_Name"
SalesStaffComboBox.ValueMember = "ID"
End Sub
Private Sub SalesStaffComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalesStaffComboBox.SelectedIndexChanged
'fill the textboxes
'Populate ID textbox with selected customer
IDTextBox.Text = SalesStaffComboBox.SelectedValue.ToString
End Sub