0

我正在使用其中包含许多组合框字段的数据网格,当我单击数据网格组合框时,所选项目或突出显示的值是列表中的最后一项,但我希望它突出显示列表中的第一个(顶部)项目。我知道只是一个组合框,我需要做的就是更改 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;
4

1 回答 1

0

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

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

在 MSDN 上阅读更多信息

于 2011-01-07T10:48:49.197 回答