2012-04-13 16 views
0

私はC#にかなり関心があり、簡単なネットワークアナライザを作成しようとしています。私は、datagridviewでパケットを見ることができるようにしたい。想像されたレイアウトは、wiresharkのようなツールと比較することができます。私はdatagridviewが常に "満たされている"ようにしたいと思います。塗りつぶしによって、たとえ空であっても常に行が含まれていることを意味します。DataGridView最小限の行数

たとえば、アプリケーションを起動するときにグリッドを行でいっぱいにしたいと思います。 gridViewの高さの合計は行の高さの倍数であるため、十分な行が含まれているため、100%正確に塗りつぶされます。しかし、データを追加するとき、これらの空の行はカウントされないので、データはこれらの空の行を上書きします。削除すると、これらの行が返されます。そうでない場合、DataGridViewは完全には満たされません。私はこのことについて少し説明するかもしれないことに気付いていますが、どういう意味なのかを私がどのように理解しようとしているのか分かりません。 Excelの仕組みは理想的です。あなたは空のセルでフルスクリーンから始め、それらに物を加えることができます。あなたがフィットよりも多くのデータを追加すると、スコー・バーが導入され、引き続きすべてのデータを見ることができます。これを削除すると、スクロールバーは小さくなり、最終的には必要なくなり、セルは表示されたままになります。 (たとえ空であっても)、物事の高さについては、事前に

おかげで、

アーノルド

-edit- は:私はおそらく、物事が将来的にサイズ変更可能なようにしたいと思います。その情報がおそらく悪用されることはありません。

+2

ここに質問がありますか、解決策を書いてもらいたいですか? –

答えて

1

DataGridViewをユーザーコントロールでラップして、行の追加と削除をオーバーライドします。

行を削除する場合は、実在する必要があります(「プレースホルダ」[タグ?]としてマークされていない)。 あなたのCountがIdealCountより小さい場合は、「プレースホルダー」行を追加してください。

行を追加する場合、CountがIdealCountより小さい場合は、最後の「プレースホルダ」行を削除します。

IdealCountの「プレースホルダ」行で初期化します。

行をデフォルト値0の非表示列と「プレースホルダ」の値1でソートするか、単純に行を並べ替えるだけで、並べ替えることができます。この方法では、「場所保持者」は常に最後になります(Count> IdealCountの場合は何もありません)。

関連する問題