我需要为DataGridView添加一行添加事件

时间:2010-05-06 13:15:24

标签: c# winforms datagridview

我想要做的是根据某些条件设置行的背景,但数据网格将相当大,所以我不想再次遍历所有行。这些行创建我做了类似“myDataGridView.DataSource = MyDataSource”的内容,所以我认为编辑行的唯一方法就是使用一个事件。

有一行 s 添加的事件,但是这给了我一个我必须迭代的行列表。

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

那么你的问题在哪里?

您必须将手指放在每一行至少一次。那么,如果你将RowAdded事件放入一行或一堆中,有什么区别?在一堆的情况下,你也只有一次得到每一行,但是事件较少,这也可能导致更快的代码(但是为了确保我会对它进行分析!)。

答案 1 :(得分:0)

虽然这可能无法直接回答您的问题,但您是否考虑在数据源仍为空时分配数据源,然后使用数据填充数据源。在这种情况下,如果您使用绑定列表,则可以使用绑定列表提供的事件来确定是否添加了新项目

答案 2 :(得分:0)

我现在正在使用RowStateChanged事件。它会更频繁地发射然后我需要,但这不是一个真正的问题。我发现这个非常奇怪。看起来如果设置第一行的背景颜色,它会更改所有行。我无法弄清楚为什么会这样做,但我只是添加了一个else语句来强制其他所有内容都是白色的。

对我来说它足够好。谢谢你的帮助。

答案 3 :(得分:0)

已经有一段时间了,但我想在我需要的几种情况下使用了DataGridView.RowPostPaint事件。

从传递给事件处理程序的事件args,您可以访问RowIndex,允许您访问Row对象,您可以从中引用DataBoundItem等。

请查一查,看看它是否能满足您的需求。

HTH