在数据网格中为组合框设置所选项目

时间:2011-01-07 10:23:31

标签: c# datagrid combobox selectedindex

我正在使用一个包含许多组合框字段的数据网格,当我点击datagrid组合框时,所选项目或突出显示的值是列表中的最后一项,但我希望它突出显示第一个(顶部)项目列表。我知道只是一个组合框,我需要做的就是更改combobox.selecteditem或combobox.selectedindex,但我不知道在这种情况下该怎么做。

我已将组合框绑定到数据库中的表并使用数据表存储组合框值,然后我向数据表添加一行,我认为组合框中最后一项突出显示的原因是因为我添加了行到数据表。

感谢您的帮助。

 String strGetTypes = "SELECT holidaycodeVARCHAR4Pk, codedescVARCHAR45 
                       FROM holidaytype 
                       ORDER BY holidaycodeVARCHAR4Pk Desc";

 DataTable dtHolidayType = new DataTable();
 MySqlDataAdapter dbaElements = new MySqlDataAdapter(strGetTypes, ShareSqlSettings.dbConnect);
 dbaElements.Fill(dtHolidayType);
 DataGridViewComboBoxCell cboxDays = new DataGridViewComboBoxCell();
 cboxDays.DataSource = dtHolidayType;
 cboxDays.DisplayMember = "codedescVARCHAR45";
 cboxDays.ValueMember = "holidaycodeVARCHAR4Pk";

 //Blank row
 dtHolidayType.Rows.Add(1);
 //

 gridDailyEmp.Rows[j].Cells[day] = cboxDays;

1 个答案:

答案 0 :(得分:0)

也许您可以设置Value对象的DataGridViewComboBoxCell属性,以便它包含当前选定的值:

cBoxDay.Value = [get the holiday code for the current record];

Read more on MSDN

- 帕维尔