0

您好,这一切都有些紧迫,因为这项任务将于 2012 年 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 号码也显示在其中。

Public Class frmUpdateSalary '所需类的实例 Private aCustomers 作为新客户 Private aAppointments 作为新约会

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
4

2 回答 2

0

您的组合框每个项目都有两个数据变量,即值和显示。
因此,对于每个客户,您都有姓名和他的 ID(您不指定它是姓氏还是名字)。
如果在它的文本框中你说:

txtID.Text=cbo.SelectedValue.ToString
txtLastName.Text=cbo.SelectedValue.ToString
txtFirstName.Text=cbo.SelectedValue.ToString

每个文本框都会得到相同的结果,因为左侧总是相同的。如果在您的组合框中,显示值是 LastName 和 FirstName 的组合,您可以拥有:

txtID.Text=cbo.SelectedValue.ToString
txtName.Text=cbo.SelectedText.ToString

我在没有视觉工作室的情况下写作,如果我有任何小错误,请见谅

您没有解释什么是客户,但我想客户的全部信息都在那里。因此,您可以使用已有的 id 检索数据。
如果您提供更多信息,我们可以提供帮助。

于 2012-11-09T20:38:45.943 回答
0

从组合框、列表框或下拉列表中选择一个值。

 If cmbBox.selectedIndex <> -1 Then
     comboIndex = cmbBox.selectedIndex
 End Else

 cmbBox.Items.removeAt(x)

删除所选索引处的项目

 If cmbBox.selectedIndex <> -1 Then
     comboItem= cmbBox.SelectedItem()

没有 VS10 来检查这些是否是正确的方法名称或大写但它本质上是它

于 2012-11-09T18:21:03.037 回答