计算DataGridViewImageColumn中唯一图像出现次数

时间:2008-11-05 10:22:55

标签: c# winforms datagridview

在绑定到DataView的DataGridView中,列中的单元格将包含来自ImageList的两个图像之一(例如绿色“在线”图像或红色“离线”图像),如何将出现的数量相加迭代DataGridView的行时每个图像的哪一个?

DataGridViewImageCell的Value和FormattedValue属性返回不同的引用,即使基础DataTable中的条目是通过引用ImageList中的相同Image创建的。

因此,不是计算“在线”的4次出现和“离线”的6次出现,我发现10次出现了不同的图像。

1 个答案:

答案 0 :(得分:1)

根据描述,我建议的最好的方法是手动跟踪单元格的.Tag中的图像键/索引,然后在.Tag上运行您的不同计数。或者,如果您还拥有列表/集合中的数据,请计算原始数据源中的数据。

[更新以下回复] 由于数据是数据绑定的,因此您应该能够迭代.Rows的{​​{1}},获取每个DataGridView。然后,对于每个底层对象,您应该能够使用.DataBoundItem获取实际属性值:

TypeDescriptor

有什么帮助吗?