我有一个包含多行的 DataGridView,每行代表一个进程。当这些进程之一退出时,通过将我的 PID 列从整数进程 ID 更改为字符串 --
来更新该行以反射(reflect)这一点。如果所有进程都在运行并且该列中的每个单元格都是一个数字,我可以对 PID 列进行排序。如果这些进程中的任何一个已结束,甚至一个单元格包含 --
,那么当我尝试对该列进行排序时,应用程序将失败。它突出显示了 Program.cs 中的 Application.Run(new MyForm());
行,其中有一个 ArgumentException
表示“对象必须是 Int32 类型”。 PID 列是一个未绑定(bind)的 DataGridViewTextBoxColumn,其 SortMode 是自动的。我怎样才能对其进行排序,使其不会崩溃,并将 PID 值为 --
的所有行组合在一起?我不在乎它们是在排序列表的开头还是结尾。
最佳答案
我自己从未做过,但我认为您可以使用某种单元格格式化程序。
因此,您可以为退出的进程存储一个像 -1
这样的值,这个值将自动格式化为您想要的任何格式,例如 --
也许这可以帮助您:DataGridView.CellFormatting
我只是快速阅读,但我认为这正是我的意思。
关于c# - DataGridView 在排序时崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16817622/