DataGridViewComboBoxColumn设置selectedindex

Vee*_*ech 6 c# gridview datagridviewcombobox winforms

嗨我运行时将数据绑定到datagridview组合框.但是如何让它自动显示第一项呢?我无法从DataGridViewComboBoxColumn中找到selectedindex.

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

- 更新---
我看到有人在解决方案中做这个3
LInk
你确定我需要这么长的代码来选择第一个项目??????

Waq*_*aja 8

一个DataGridViewComboBoxColumn没有SelectedIndex和SelectedValue性能.但是,您可以SelectedValue通过设置Value属性来获得相同的行为.

例如,在第一个索引上,值成员的值为2,那么您应该设置.Value = "2"为选择第一个索引.

例如

myDataGridViewComboBoxColumn.Value = "20";
Run Code Online (Sandbox Code Playgroud)

在你的情况下

myDataGridViewComboBoxColumn.Value = CourseStudentStatus.EnumToBeSelected.ToString();
Run Code Online (Sandbox Code Playgroud)

以下是有关DataGridViewComboBoxColumn的更多详细信息


小智 5

设置datagridViewComboBoxCell的最佳方法是:

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();
}
Run Code Online (Sandbox Code Playgroud)

它非常适合我