|
分類:[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
ごちゃごちゃしてますが、よろしくお願いいたします。
|