c# - DataGridView 在排序时崩溃?

标签 c# datagridview

我有一个包含多行的 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/

相关文章:

c# - Java 到 C# - 从 jar 服务器发送/读取字节到 C# 客户端

c# - 获取数组中的枚举元素

c# - 在子目录中托管 WCF Web 服务

c# - MySql查询不显示结果

c# - 如何在 GridView 中编辑 Linkcolumn 类型的单元格

c# - 这是对多线程设计的正确使用吗? (C#)

c# - 包含的亚音速查询构造(Guid)

c# - DataGridView合并

vb.net加载数据表到datagridview

c# - DataGridView、虚拟模式和 "lags"