2013-11-26 76 views
0

我想綁定一個組合框,在datagridview裏面使用下面的代碼和綁定工作正常,但通過嘲諷組合框文本是空的。我怎麼可以顯示由defult.My碼組合框的文本的第一個值是如何顯示gridviewcombobox文本中的第一個值默認

DataTable dt1 = connection.SelectCommand("select jobcode from jobsitemaster"); 
foreach (DataGridViewRow row in dataGridView1.Rows) 
{ 
     DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell)(row.Cells["jobcode"]); 
     cell.ValueMember = "jobcode"; 
     cell.DisplayMember = "jobcode"; 
     cell.DataSource = dt1; 
} 
+0

WinForms?的WebForms? WPF? –

回答

1

你有沒有試過這種 comboBox1.SelectedIndex = 0;

+0

DataGridViewComboBoxCell劑量具有類似selectedIndex的屬性 – ANU

+0

請按照鏈接http://stackoverflow.com/questions/8373854/how-to-show-set-default-value-for-datagridviewcomboboxcell-value-in-winform –

0

試試這個

DataTable dt1 = connection.SelectCommand("select jobcode from jobsitemaster"); 
foreach (DataGridViewRow row in dataGridView1.Rows) 
{ 
    DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell)(row.Cells["jobcode"]); 
    cell.ValueMember = "jobcode"; 
    cell.DisplayMember = "jobcode"; 
    cell.DataSource = dt1; 

    // (not sure about the syntax) 
    row.Cells["jobcode"].Value = dt1.Rows[0].Field<string>("jobcode"); 
} 

無論如何,如果所有的細胞具有相同的項目組,您可以更好地使用DataGridViewComboBoxColumn,並使用dt1對DataGridViewComboBoxColumn進行數據綁定,併爲其所有這些單元格分配其DisplayMember和ValueMember。 (同時指定所有gridview列的數據屬性名稱)

當您這樣做時,請使用datagridview.DataBindingComplete事件。循環遍歷DataBindingComplete處理程序中的行,將所有行中該單元格的值設置爲dt1.Rows [0] .Field(「jobcode」)

相關問題