6

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

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

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

4

2 回答 2

8

DataGridViewComboBoxColumn没有,SelectedIndexSelectedValue属性。SelectedValue但是,您可以通过设置Value属性获得相同的行为。

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

例如

myDataGridViewComboBoxColumn.Value = "20";

在你的情况下

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

这是有关DataGridViewComboBoxColumn的更多详细信息

于 2011-03-20T09:11:04.443 回答
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();
}

它对我很有效

于 2012-01-14T12:15:57.457 回答