在DataGridViewComboboxColumn中设置所选项目

5

我有一个DataGridView,其中包含一个DataGridViewComboboxColumn列,有3个值:“Small”,“Medium”,“Large”。

我获取用户的默认值,这种情况下是“Medium”。

我想在datagridview中显示一个下拉单元格,但默认值为“Medium”。在常规组合框中,我可以通过设置选定索引或仅设置组合框的Text属性来完成此操作。

4个回答

6

当您使用datagridview时,最好使用数据绑定。这将处理您所谈论的所有选定索引的内容。

但是,如果您想自己进入其中,

DataGridView.Rows[rowindex].Cells[columnindex].Value 

您可以获取和设置与DataGridViewComboBoxColumn相关联的值。只需确保在设置值时提供正确的行索引和列索引,并将其设置为正确的类型(与DataGridViewComboBoxColumn的ValueMember属性相同的类型)。


这个工作,但只有在我移出被设置值的单元格后才会反映出来。 - IsmailS
谢谢,我花了很长时间回到DataGridViewComboBoxColumn并尝试找到我的值。 - James

2
DataGridViewComboBoxColumn ColumnPage = new DataGridViewComboBoxColumn();
ColumnPage.DefaultCellStyle.NullValue = "Medium";

请不要仅仅发布代码。请在您的代码中加入一些解释、信息或用法说明。例如,请参考这个答案 - Nazik

0

要完成这项任务,您应该像这样做:

          this.dataGridViewStudentInformation.Columns[ColumnIndex].DataPropertyName = dataGridViewStudentInformation.Columns[2].Name ; //Set the ColumnName to which you want to bind.  

并在数据库中将默认值设置为中等。


0
你是手动检索用户数据并尝试在DataGridView中设置值,还是已经将DataGridVew绑定到数据源?因为如果你已经将网格绑定到数据源,你只需要将列的DataPropertyName设置为对象属性的字符串名称即可:
[DataGridViewComboboxColumnName].DataPropertyName = "PropertyNameToBindTo";

或者你的意思是想让它在新行中默认为中等大小?


我正在使用items.AddRange以编程方式添加值。 - leora

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接