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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.91945 の関連記事表示

<< 0 >>
■91945  Re[1]: コンボボックスによる絞り込み
□投稿者/ 魔界の仮面弁士 -(2019/08/12(Mon) 23:30:27)
    No91943 (たかし さん) に返信
    > の2つのテーブルがありフォーム上にはComboBox1ととComboBox2があります。

    Windows Forms アプリケーションを作成していて、
    tbl_部署というのは DataTable の事で良いでしょうか。

    言語指定が無かったですが、comboBox1 ではなく ComboBox1 と書かれていたので、
    とりあえず Visual Basic と仮定して書いてみます。


    Public Class Form1
      Private ds As DataSet
      Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ds = CreateSample()

        ds.Relations.Add("rel_部署_社員",
                 ds.Tables("tbl_部署").Columns("部署コード"),
                 ds.Tables("tbl_社員").Columns("部署コード"))

        Me.BindingSource1.DataSource = ds
        Me.BindingSource1.DataMember = "tbl_部署"

        Me.BindingSource2.DataSource = Me.BindingSource1
        Me.BindingSource2.DataMember = "rel_部署_社員"

        ComboBox1.DataSource = Me.BindingSource1
        ComboBox1.ValueMember = "部署コード"
        ComboBox1.DisplayMember = "部署名"
        ComboBox2.DataSource = Me.BindingSource2
        ComboBox2.ValueMember = "社員コード"
        ComboBox2.DisplayMember = "社員名"
      End Sub

      Private Function CreateSample() As DataSet
        Dim ds As New DataSet("Sample") With {.CaseSensitive = True}
        Dim tbl1 As DataTable = ds.Tables.Add("tbl_部署")
        Dim tbl2 As DataTable = ds.Tables.Add("tbl_社員")

        tbl1.Columns.Add("部署コード", GetType(Decimal)).AllowDBNull = False
        tbl1.Columns.Add("部署名", GetType(String)).AllowDBNull = False
        tbl1.PrimaryKey = New DataColumn() {tbl1.Columns("部署コード")}

        tbl2.Columns.Add("社員コード", GetType(String)).AllowDBNull = False
        tbl2.Columns.Add("社員名", GetType(String)).AllowDBNull = False
        tbl2.Columns.Add("部署コード", GetType(Decimal)).AllowDBNull = True
        tbl2.PrimaryKey = New DataColumn() {tbl2.Columns("社員コード")}

        tbl1.Rows.Add(10000D, "総務部")
        tbl1.Rows.Add(10020D, "総務部総務課")
        tbl1.Rows.Add(12000D, "営業部")
        tbl1.Rows.Add(12010D, "営業部営業一課")

        tbl2.Rows.Add("AX0020", "金田 一太郎", 10000D)
        tbl2.Rows.Add("BY0112", "今西 欣治", 10020D)
        tbl2.Rows.Add("DX0987", "有馬 貴臣", 10020D)
        tbl2.Rows.Add("DX1024", "山口 六平太", 10020D)
        tbl2.Rows.Add("PN0132", "緒方 賢太", 12000D)
        tbl2.Rows.Add("PC1024", "片岡 孝夫", 12010D)
        tbl2.Rows.Add("PC2048", "久米 広明", 12010D)

        ds.AcceptChanges()
        Return ds
      End Function
    End Class
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -