如何阻止DataGridView共享行?

时间:2008-10-23 11:49:09

标签: c# .net datagridview

我已经制作了一个自定义DataGridViewCell,它显示了一个自定义控件而不是单元格;但是如果DataGridView使用共享行,那么自定义控件实例也会被共享,因此您会遇到奇怪的行为(例如,将鼠标悬停在按钮上会突出显示所有按钮)。另外,我无法访问DataGridViewCell.Selected属性,因此我不知道要绘制该行的颜色。

如何阻止DataGridView共享行?我知道我可以使用Rows.Add(object [])覆盖添加行,但是第一行仍然是共享的(即索引为-1),因此颜色问题仍然适用。

我需要能够告诉DataGridView不要共享包含自定义单元格的行。可以用属性完成吗?它可以完成吗?

2 个答案:

答案 0 :(得分:3)

尝试在行的一个单元格中设置工具提示文本

在以下任何一种情况下都无法共享行:  该行包含一个不在选定列中的单个选定单元格。  该行包含一个设置了ToolTipText或ContextMenuStrip属性的单元格。  该行包含DataGridViewComboBoxCell及其Items属性集。

或阅读

http://msdn.microsoft.com/en-us/library/ha5xt0d9.aspx

了解更多信息

答案 1 :(得分:1)

DataGridViewRowCollection.AddRange(params DataGridViewRow[] dataGridViewRows)

new[]{someDataGridviewRow}

为我工作。