将DataGridView的单个单元格转换为Combobox

时间:2015-09-02 12:16:56

标签: c# asp.net datagridview

环境:Visual Studio中的Web开发 语言:ASP.NET

我担心我已经知道了答案,但问起来也不会有害。我有一个从SAP获取数据的应用程序,可以返回特定结果或DataGridView的每一行的可能结果列表。因此,用户可能输入“abcd”并因此获得“1234”,或者他可能因此获得“1234或2345或3456”。对于每一行,我希望每列都有多个结果作为组合框返回。其余的应该保持固定,因为桌子上摆满了只有一个结果的组合框会很烦人。

这有什么诀窍吗?我知道您可以使用DataGridViewComboBoxColumn将整个列“转换”为一组组合框: http://mytactics.blogspot.de/2014/01/convert-datagridview-column-to-combo-box.html 。有没有办法只为特定细胞提供一个组合框?我知道我可以在表格的每一行旁边放一个组合框,让用户从那一行中选择,或者我可以在每一行中都有一个combox,也许只用一个结果锁定那些。我对这两种解决方案都不满意。

1 个答案:

答案 0 :(得分:2)

您可以尝试将一个ComboBox添加到yourDataGridViewCell.Controls并制作label.Visible = false;或将其删除。它会是这样的:

yourDataGridViewCell.Controls.Clear();
yourDataGridViewCell.Controls.Add(new ComboBox());
yourDataGridViewCell.Controls[0].DataSource = yourList;
//set the value member etc.