2016-08-06 6 views
0

すべてのレコードをコンボボックスに表示したいが、レコードは1行に表示されます。ここに私のコードです。データを取り出す2つのクラスを作った。コンボボックスのレコードを別の行に表示

データハンドラコード:

public DataSet DataLoader(string _strQuery) 
{ 
    DataSet ds = new DataSet(); 
    ds.Clear(); 

    using (conn = new SqlConnection()) 
    { 
     conn = Connection.getconnection(); 
     oda = new SqlDataAdapter(_strQuery, conn); 
     oda.Fill(ds, "Temp"); 
     conn.Close(); 
     conn.Dispose(); 
     oda.Dispose(); 
    } 

    return ds; 
} 

データクラスコード:データ表示

public System.String Loadbranch() 
{ 
    string BranchName = ""; 
    string strquery = "select * from Expense"; 
    DataHandler dh = new DataHandler(); 
    System.Data.DataSet dsLoadData = new System.Data.DataSet(); 
    dsLoadData = dh.DataLoader(strquery); 

    if (dsLoadData.Tables["Temp"].Rows.Count > 0) 
    { 
     for (int i = 0; i < dsLoadData.Tables["Temp"].Rows.Count; i++) 
     { 
      BranchName += dsLoadData.Tables["Temp"].Rows[i]["ExpenseID"].ToString(); 
     } 
    } 

    return BranchName; 
} 

メインフォーム:コンボボックス内のすべてのレコードを表示するために私を助けてください

private void Edit_User_Load(object sender, EventArgs e) 
{ 
    this.WindowState = FormWindowState.Maximized; 
    this.MinimumSize = this.Size; 
    this.MaximumSize = this.Size; 

    cbsaveuserid.Items.Add(d.Loadbranch()); 
} 

が、異なる行に

+0

は、ASP.NET MVCのためのまたは.NET WinFormsのための質問ですか? – ConnorsFan

+0

.net windows form。 –

+0

タグを変更できますか? – ConnorsFan

答えて

1

アイテムは、オブジェクトのコレクションを表します。

LoadBranch()メソッドを変更して、1つの連結文字列ではなく、一連の文字列(たとえば、List<string>)を返すようにします。

Edit_User_Load()を変更してコレクションをループし、各要素をcvsaveuserid.Itemsコレクションに追加します。

私はあなたのコードを持っていないので、私はそれをコンパイルすることはできませんが、私はこれが仕事だと思う:

public List<string> Loadbranches() 
    { 
     List<string> branchNames = new List<string>(); 
     string strquery = "select * from Expense"; 
     DataHandler dh = new DataHandler(); 
     System.Data.DataSet dsLoadData = new System.Data.DataSet(); 
     dsLoadData = dh.DataLoader(strquery); 

     if (dsLoadData.Tables["Temp"].Rows.Count > 0) 
     { 
      for (int i = 0; i < dsLoadData.Tables["Temp"].Rows.Count; i++) 
      { 
       branchNames.Add(dsLoadData.Tables["Temp"].Rows[i]["ExpenseID"].ToString()); 
      } 
     } 

     return branchNames; 
    } 

    private void Edit_User_Load(object sender, EventArgs e) 
    { 
     this.WindowState = FormWindowState.Maximized; 
     this.MinimumSize = this.Size; 
     this.MaximumSize = this.Size; 

     foreach (string branchName in d.Loadbranches()) 
     { 
      cbsaveuserid.Items.Add(branchName); 
     } 
    } 
+0

例えば、コードを教えてください。 –

+0

はいそうです。ありがとうalot @ブレイン..ありがとう –

関連する問題