3

それぞれが 1 つのプロセスを表す複数の行を持つ DataGridView があります。これらのプロセスの 1 つが終了すると、PID 列を整数のプロセス ID から string に変更することで、これを反映するように行が更新されます--。すべてのプロセスが実行中で、その列のすべてのセルが数値である場合、PID 列を並べ替えることができます。これらのプロセスのいずれかが終了し、1 つのセルにさえ含まれている--場合、その列を並べ替えようとすると、アプリケーションは失敗します。Application.Run(new MyForm());Program.csの行が強調表示され、ArgumentException"オブジェクトは Int32 型である必要があります" というメッセージが表示されます。PID 列はバインドされていない DataGridViewTextBoxColumn で、SortMode は Automatic です。クラッシュしないようにソートするにはどうすればよいですか? PID 値が--グループ化されていますか?それらがソートされたリストの最初または最後にあるかどうかは気にしません。

4

2 に答える 2

1

私は自分でやったことがありませんが、ある種のセルフォーマッターを使用できると思います。したがって-1、終了したプロセスのような値を保存することができ、この値は自動的に好きなようにフォーマットされます--

多分これはあなたを助けることができます: DataGridView.CellFormatting

私は簡単に読むだけですが、それはまさに私が言いたいことだと思います。

于 2013-05-29T15:18:33.043 に答える
0

各列に同じ種類のデータを入力する必要があります。データテーブルの列に文字列とnullがある場合、それはそうなります。それで; データが null の場合は、"" にする必要があります。それを説明してください。私の英語でごめんなさい。

于 2013-09-08T10:57:45.570 に答える