单击按钮后执行加载

时间:2019-08-11 20:52:43

标签: vb.net entity-framework datagridview

我正在尝试使用面板和按钮来加载2种不同的形式以及实体框架和ado模型。我正在尝试使用在第一种表单上运行的代码来加载第二种表单this picture,,因为它们具有相同的表。但是发生的事情是,每当我关闭第二个表单并尝试打开second user from this form(driverlist), I am still getting the results that I created before on the first user时,我都认为尽管我放置了一些代码,但第二个表单并未加载:

Private Sub DriverLicense_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim user_id As Integer = Driverlist.tbxUser_id.Text
    Driverlist.db = New [Emme_Subic_Transport_Corporation_Payroll].EmmeSubicEntities
    Driverlist.db.UserDetails.Where(Function(c) c.isDeleted <> 1 And c.Id = user_id).Load()
    UserDetailBindingSource.DataSource = Driverlist.db.UserDetails.Local

    If Driverlist.tbxUser_id.Text.Count < 1 Then
        MessageBox.Show("Please Select an Employee ID First", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Drivertest.Panelswitch(Driverlist)
    Else
        Me.Show()
    End If
End Sub

Private Sub DriverLicense_Activated(sender As Object, e As EventArgs) Handles Me.Activated
    Dim user_id As Integer = Driverlist.tbxUser_id.Text
    Driverlist.db = New [Emme_Subic_Transport_Corporation_Payroll].EmmeSubicEntities
    Driverlist.db.UserDetails.Where(Function(c) c.isDeleted <> 1 And c.Id = user_id).Load()
    UserDetailBindingSource.DataSource = Driverlist.db.UserDetails.Local

End Sub

我通过属性的其他数据绑定资源绑定了第二种形式,但仍与第一种形式使用相同的资源。我对此很陌生,所以请不要再对我的问题提出负面意见。如果您认为我对此不好,我知道,对不起。顺便说一下,如果有帮助,这是按钮和面板中的代码。谢谢大家。

Sub Panelswitch(Panel As Form)
    PanelControl.Controls.Clear()
    Panel.TopLevel = False
    PanelControl.Controls.Add(Panel)
    Panel.Show()
End Sub

Private Sub Btntest_Click(sender As Object, e As EventArgs) Handles Btntest.Click
    Panelswitch(Driverlist)
End Sub

Private Sub Btntest2_Click(sender As Object, e As EventArgs) Handles btntest2.Click
    Panelswitch(DriverLicense)
End Sub

1 个答案:

答案 0 :(得分:0)

有很多事情我只看你的照片就可以避免,但这超出了你的问题。

第二,同意该评论,您应该进一步修改您的问题(我看过您尝试过的方法,但是仍然不完整或不清楚)。

如果我的理解正确,那么您有一个容器PanelControl,您可以使用表格DriverListDriverLicence来填充 。我只想确定-您确定已实例化设置了实例吗?因为我希望该开关仅对显示正确的形式起作用,但对于[persistent]列表DriverListDriverLicence应该< / em>可能是您每次要添加许可证的新实例。但是未显示此代码,只是猜测问题可能出在这些方面。我猜设计的可能性很小。

简化,重点是:

Private Sub Btntest2_Click(sender As Object, e As EventArgs) Handles btntest2.Click
    Dim DriverLicenceInstance as new DriverLicence        
    Panelswitch(DriverLicenseInstance)
End Sub

我还认为,您可能没有正确设置第二种格式DriverLicence的绑定。我不精通.NET绑定,但是在我看来,您将绑定声明为两个独立的东西(来自复制代码吗?)。但是您可能需要做的是为两个部分使用相同的绑定源。参见此处:A-Detailed-Data-Binding-Tutorial