2016-12-18 2 views
0

winformのコンボボックスの上部に選択可能なすべてを選択する必要があります。今、この構文はバインドされたコンボボックスの上にすべてのオプションを追加する

エラー列「EMPNAME」はないのエラーをスロー

public void GetData() 
{ 
    using (SqlConnection conn = new SqlConnection(SqlConnection)) 
    { 
    SqlDataAdapter da = new SqlDataAdapter("select [empname] from [Testdb].[dbo].[Test] order by [empname] Asc", conn); 
    conn.Open(); 
    da.Fill(ds, "Test"); 
    cboemployees.Items.Insert(0, "All"); 
    cboemployees.DisplayMember = "empname"; 
    cboemployees.DataSource = ds.Tables["Test"]; 
    } 
} 

:私は1つがエラーをスローしない、以下のコードの両方を試してみましたが、値が追加されませんバウンドコンボボックスの先頭に選択可能な項目を追加する適切な方法は何

public void GetData() 
{ 
using (SqlConnection conn = new SqlConnection(SqlConnection)) 
{ 
    SqlDataAdapter da = new SqlDataAdapter("select [empname] from [Testdb].[dbo].[Test] order by [empname] Asc", conn); 
    conn.Open(); 
    da.Fill(ds, "Test"); 
    DataRow row = dt.NewRow(); 
    row["empname"] = "All"; 
    dt.Rows.InsertAt(row, -1); 
    cboemployees.DataSource = dt; 
} 
} 

テーブルに属していますか?

答えて

2

テーブルに行を追加します。

SqlDataAdapter da = new SqlDataAdapter("select [empname] from [Testdb].[dbo].[Test] order by [empname] Asc", conn); 
conn.Open(); 

da.Fill(ds, "Test"); 

// Add the row for All 
var allRow = ds.Tables["Test"].NewRow(); 
allRow[0] = "All"; 
ds.Tables["Test"].Rows.InsertAt(allRow, 0); 

cboemployees.DisplayMember = "empname"; 
cboemployees.DataSource = ds.Tables["Test"]; 
+0

これはリストの一番下にAllを追加します。リストの最初のエントリにする方法はありますか? –

+0

はい 'ds.Tables [" Test "]。Rows.InsertAt(allRow、0);'を使用します。これで私の編集を参照してください。入力配列のエラーをスローする – CodingYoshi

+0

は、このテーブルの列の数よりも大きい –

関連する問題