订购datagrid图像单元格,如数字单元格?可能?

时间:2011-09-06 11:47:47

标签: c# datagridview

基本上我有一个DataGrid,它显示数字,一些数字需要表示为图像。

我的DataGrid使用DataTable作为其来源。我在DataTable中有(int)单元格和(图像)单元格。当我点击DataGrid中int单元格的标题时,它按顺序正确排序,但是图像单元显然是随机排序的。

是否有可能给出两个'值'?一个保存实际值,因此它可以被订购,另一个包含要显示的内容(图像,字符串单元格)?如果这是有道理的。

还有另一种方法可以完成我想要做的事情吗?谢谢!

编辑:此外,当我订购常规的int单元格时,如果某些单元格为空,则它们会按顺序排在第一位。像:

(Empty)
(Empty)
(1)
(2)
(4)
(6)
(7)

如何让它们显示在最后?

1 个答案:

答案 0 :(得分:0)

我假设这是一个WinForms Datagrid,但你也应该能够为ASP.Net找到类似的答案。

查看custom sorting网格。具体来说,您可以处理SortCompare事件,您应该拥有必要的信息来拦截基于图像字段的排序,而只是使用int字段进行排序(可能使用Column属性提供了DataGridViewSortCompareEventArgs对象,用于检查要对哪个列进行排序,并结合RowIndex1RowIndex2以及原始数据源以获取所需的备用列值。

关于您的空排序问题,您应该能够使用自定义排序来解决这个问题。