C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■91825 / )  DataGridViewを利用したログイン画面の作成
□投稿者/ 逃避行動 (1回)-(2019/08/06(Tue) 17:12:55)

分類:[VB.NET/VB2005 以降] 

初めての書き込みになります。

完全初心者なので説明不足の部分が多々あるかと思いますが、
ご助力のほどお願いいたします。

まず、環境について

・windows10
・visalstudio2017
・oracleDB

現在ログイン画面を作成しております。
教えていただきたいことは、DataGridViewにユーザの名前を表示しているのですが
cellをクリックしたときパワーユーザ、一般ユーザを判断し、パスワードの入力項目を出力するといったものです。

やりたい画面の動きとしては
@ログイン画面表示

ADataGridViewよりユーザ名を指定

Bパワーユーザーの場合、パスワード入力項目(テキストやラベルなど)を表示

C一般ユーザの場合、パスワード入力項目は表示されない

また、DataGridView1には、データソース選択によりユーザ名を呼び出すテーブル(今後ユーザテーブルと記す)は入れておりますが、
パワーユーザと一般ユーザを判別するテーブル(権限テーブルと記す)は、別テーブルになります。
ユーザテーブルと、権限テーブルはDataSet.xsdにてリレーションしています。

ユーザテーブルのカラムは「id」「氏名」
権限テーブルのカラムは「id」「権限区分」

権限区分よりパワーユーザか一般ユーザか判別しており
パワーユーザは「1」
一般ユーザは「0」になります。

権限区分「1」のユーザ名を出力するSQL文を書くことはできますが、
それをどうプログラムで表現し、上記記述のような動きにする方法がわかりません。

恐らく、if文を使ってcellクリックされたユーザの権限が1の場合、パスワード入力項目を表示する
といった感じだとは思うのですが、
ソースを見ていただければわかるよう
Dimなどの宣言の仕方がいまいちわかっておりません。

下記ソースでは、どのユーザ名を指定しても入力項目が表示されるようになっています。

Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

''TODO: このコード行はデータを 'DataSet3.担当マスタ' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
Me.担当マスタTableAdapter.Fill(Me.DataSet3.担当マスタ)
'DataGridViewの元となるデータを設定
DataGridView1.MultiSelect = False
DataGridView1.ColumnHeadersVisible = False
Try
Me.担当マスタTableAdapter.FillBy2(Me.DataSet3.担当マスタ)
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
End Sub

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged

End Sub

Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click

End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

End Sub

Private Sub DataGridView1_CellClick(ByVal col As Long, ByVal row As Long)

Label2.Visible = True
TextBox1.Visible = True
Button3.Visible = True

End Sub

End Class

ごちゃごちゃしてますが、よろしくお願いいたします。
返信 編集キー/


管理者用

- Child Tree -