0

私はVB.netでプログラミングしています。データベースに対して電子メール アドレスを検索して、2 つの gridview テーブルにデータを入力しようとしています。ユーザーが検索ボタンをクリックすると、プログラムでテキストボックスから値を取得し、データベースに対して電子メールアドレスを検索してから、「スクラムマスター」テーブルと「開発者」テーブルのいずれかまたは両方にユーザープロファイルを表示します。これらすべてを 1 つの 'btnSearchEmail_Click' メソッドで実行する方法がわかりません。現在、私が持っているコードは

 Protected Sub btnSearchEmail_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearchEmail.Click

End Sub


Protected Sub ScrumMastersDataSource_Selecting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceSelectEventArgs) Handles ScrumMastersDataSource.Selecting
    Dim db As New AgileClassesDataContext()

    Dim enteredEmail = txtEnteredEmail.Text

    Dim scrumMasters = (From u In db.Users
                      Join ur In db.UserRoles On u.UserId Equals ur.UserId
                      Join r In db.Roles On ur.RoleId Equals r.RoleId
                      Where r.RoleId = 2 And u.Email = enteredEmail
                      Select u).Distinct

    e.Result = scrumMasters
End Sub


Protected Sub DevelopersDataSource_Selecting(sender As Object, e As System.Web.UI.WebControls.LinqDataSourceSelectEventArgs) Handles DevelopersDataSource.Selecting
    Dim db As New AgileClassesDataContext()

    Dim enteredEmail = txtEnteredEmail.Text

    Dim developers = (From u In db.Users
                      Join ur In db.UserRoles On u.UserId Equals ur.UserId
                      Join r In db.Roles On ur.RoleId Equals r.RoleId
                      Where r.RoleId = 3 And u.Email = enteredEmail
                      Select u).Distinct

    e.Result = developers
End Sub

ご覧のとおり、ここには 3 つの方法があります。「btnSearchEmail_Click」イベント内に「ScrumMastersDataSource_Selecting」と「DevelopersDataSource_Selecting」を配置して、「btnSearchEmail」がクリックされたときに両方が実行されるようにしたいと考えています。電子メール アドレスは、開発者とスクラム マスターの両方の役割にリンクされている可能性があるため、重複は問題になりません。どんなアドバイスでも大歓迎です。この質問が理にかなっているといいのですが

4

1 に答える 1

0

このようなものを試してください(これはC#/ VB.NETの組み合わせです):

private void RefreshGrids()
{
    ScrumMastersDataSource.DataSource = GetListScrum(txtEnteredEmail.Text);
    ScrumMastersDataSource.DataBind();
    DevelopersDataSource.DataSource = GetListDev(txtEnteredEmail.Text);
    DevelopersDataSource.DataBind();
}

Protected Sub btnSearchEmail_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearchEmail.Click

    RefreshGrids();

End Sub
于 2012-11-26T19:08:15.563 に答える