开发者

DataGridViewComboBoxColumn set the selectedindex

开发者 https://www.devze.com 2023-02-18 03:06 出处:网络
hi i runtime bind the data into datagridview combobox. But how do i make it to auto display the first item? i do not able fi开发者_如何学JAVAnd the selectedindex from DataGridViewComboBoxColumn.

hi i runtime bind the data into datagridview combobox. But how do i make it to auto display the first item? i do not able fi开发者_如何学JAVAnd the selectedindex from DataGridViewComboBoxColumn.

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

-- Update ---

i saw someone doing this in solution 3

LInk

Are you sure i need such a long code to just have the first item selected??????


A DataGridViewComboBoxColumn has no SelectedIndex, and SelectedValue properties. However you can get the same behavior of SelectedValue by setting the Value property.

For instance on first index the value member has value 2 then you should set .Value = "2" to set the first index selected.

For example

myDataGridViewComboBoxColumn.Value = "20";

In your case

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

Here is more details about DataGridViewComboBoxColumn


the best way to set the value of a datagridViewComboBoxCell is:

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();
}

It worked with me very well

0

精彩评论

暂无评论...
验证码 换一张
取 消