2011-03-20 12 views
6

ayarlayarak, verileri datagridview combobox'a bağlayın. Ama ilk öğeyi otomatik olarak görüntülemeyi nasıl yaparım? DataGridViewComboBoxColumn gelen selectedindex bulamıyorum.DataGridViewComboBoxColumn selecteddex değerini

DataGridViewComboBoxColumn cbStudentCourse = (DataGridViewComboBoxColumn)dgStudentCourse.Columns["studentCourseStatus"]; 
        cbStudentCourse.DataSource = Enum.GetValues(typeof(CourseStudentStatus)); 
        cbStudentCourse.DisplayIndex = 1; 

- Güncelleme ---
i birisini 3
LInk
Eğer ben sadece ilk öğe seçili olması böyle uzun kod gerekir emin çözeltide bunu gördü ??????

+0

Birisi size yardım edebilir mi? – VeecoTech

cevap

8

A DataGridViewComboBoxColumn, SelectedIndex ve SelectedValue özelliklerine sahiptir. Ancak, Value özelliğinin ayarlanmasıyla SelectedValue aynı davranışı alabilirsiniz.

Örneğin, ilk dizinde, değer üyesi 2 değerine sahiptir, ardından seçilen ilk dizini ayarlamak için .Value = "2" ayarlamalısınız. Senin durumunda İşte

myDataGridViewComboBoxColumn.Value = CourseStudentStatus.EnumToBeSelected.ToString(); 

yılında örnek

myDataGridViewComboBoxColumn.Value = "20"; 

için

DataGridViewComboBoxColumn

+0

Bunu denedim cbStudentCourse.ValueMember = CourseStudentStatus.Active.ToString(); 'ama hala boş gösteriliyor – VeecoTech

+0

'ValueMember' 'Value' özelliğini ayarlamanız gerekiyor 'Value' özelliğini ayarlamanız gerekiyor –

+0

+1 yanlışlıkla yaptım; değer bulmaz. Sadece değerMember ve Geçerli Makale Mevcut –

5

bir datagridViewComboBoxCell değerini ayarlamak için en iyi yolu hakkında daha fazla detay geçerli:

DataTable dt = new DataTable(); 
dt.Columns.Add("Item"); 
dt.Columns.Add("Value"); 
dt.Rows.Add("Item1", "0"); 
dt.Rows.Add("Item1", "1"); 
dt.Rows.Add("Item1", "2"); 
dt.Rows.Add("Item1", "3"); 
DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn(); 
cmb.DefaultCellStyle.Font = new Font("Tahoma", 8, FontStyle.Bold); 
cmb.DefaultCellStyle.ForeColor = Color.BlueViolet; 
cmb.FlatStyle = FlatStyle.Flat; 
cmb.Name = "ComboColumnSample"; 
cmb.HeaderText = "ComboColumnSample"; 
cmb.DisplayMember = "Item"; 
cmb.ValueMember = "Value"; 
DatagridView dvg=new DataGridView(); 
dvg.Columns.Add(cmb); 
cmb.DataSource = dt; 
for (int i = 0; i < dvg.Rows.Count; i++) 
{ 
dvg.Rows[i].Cells["ComboColumnSample"].Value = (cmb.Items[0] as 
DataRowView).Row[1].ToString(); 
} 

Benimle çok iyi bir şekilde çalıştı