2017-09-17 12 views
-1

ビジュアルベーシックで8つのテーブルから選択したデータをdatagridviewに表示できますか?私はMS SQLを使用しています。私は大統領のための1テーブル、副大統領のための1テーブル、秘書のための1テーブル、会計のための1テーブルを持っています。監査人のための1つのテーブル、およびビジネスマネージャのための1つのテーブル。各テーブルにはID、PARTY LIST、NAME、GRADE、およびVoteCountの5つの行があります。8種類のテーブルからのDatagridviewの内容? Vb.net MS SQL

私がdatagridviewに表示する必要があるのはパーティリストです。名前、副。 pres。名前、秒。名前、トレ。名前など。

datagridviewが可能かどうかを知りたいです。

ありがとうございました。

+0

を追加するためにこれを使用します。その 'DataTable'をどのように埋め込むかはあなた次第です。データベース内の8つのテーブルを結合するクエリを使用したい場合は、必ず実行してください。 – jmcilhinney

+0

故障したDBデザインのように聞こえます。彼らが実行している位置を示すフィールドを持つ「候補者」のテーブルが1つ必要です。 DBスキーマは約*関係です* – Plutonix

答えて

0

手動で列を追加する必要があります。私はこのサンプルコードを私のアプリケーションから取り出しました。 SQLから各列の形式を照会し、xgrid1およびxgrid2に格納します。 1つは列の名前で、もう1つは表示名です。 xgrid3は私の列のサイズで、xgrid4は列の配置です。あなたに合ったものを使いましょう。列の設定が完了したら、ループを使用してクエリを実行し、グリッドに行を追加します。あなたのケースでは、データソースを使用することはできません。

セットアップに使用、これをあなたのグリッド

DG_Clients.Columns.Clear() 
     DG_Clients.RowHeadersVisible = False 

     For xcount = 0 To xgrid1.Length - 1 
      DG_Clients.Columns.Add(xgrid2(xcount), xgrid1(xcount)) 
      DG_Clients.Columns(DG_Clients.Columns.Count - 1).Width = xgrid3(xcount) 
      Select Case xgrid4(xcount) 
       Case "L" 
        DG_Clients.Columns(DG_Clients.Columns.Count - 1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft 
        DG_Clients.Columns(DG_Clients.Columns.Count - 1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleLeft 
       Case "R" 
        DG_Clients.Columns(DG_Clients.Columns.Count - 1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight 
        DG_Clients.Columns(DG_Clients.Columns.Count - 1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 
       Case "C" 
        DG_Clients.Columns(DG_Clients.Columns.Count - 1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 
        DG_Clients.Columns(DG_Clients.Columns.Count - 1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter 

      End Select 
     Next 

とあなたが `DataGridView`に1` DataTable`をバインドすることができ、それに

Dim xRow As DataRow 
     Dim xProvince As String 
     For Each dRow As DataRow In DBAcc.DBDT.Rows 
      Dim xlist(DG_Clients.Columns.Count - 1) As String 

      For xcount = 0 To xgrid1.Length - 1 
       Select Case xgrid2(xcount) 
        Case "Sex" 
         If dRow(xgrid2(xcount)) = 0 Then xlist(xcount) = "Male" Else xlist(xcount) = "Female" 
        Case "Province" 
         Select Case dRow(xgrid2(xcount)) 
          Case 0 
           xProvince = "QC" 
          Case 1 
           xProvince = "On" 
          Case 2 
           xProvince = "NS" 
          Case 3 
           xProvince = "PEI" 
          Case 4 
           xProvince = "NF" 
          Case 5 
           xProvince = "MB" 
          Case 6 
           xProvince = "SK" 
          Case 7 
           xProvince = "AB" 
          Case 8 
           xProvince = "BC" 
          Case 9 
           xProvince = "NU" 
         End Select 
         xlist(xcount) = xProvince 
        Case Else 
         xlist(xcount) = dRow(xgrid2(xcount)) 
       End Select 
      Next 

      DG_Clients.Rows.Add(xlist) 
     Next 
関連する問題