0

我非常喜欢 C#,我正在尝试创建一个简单的网络分析器。我希望能够在 datagridview 中看到数据包。想象的布局可以与wireshark等工具进行比较。我希望我的 datagridview 始终被“填充”。填充我的意思是它总是包含行,即使这些是空的。

例如,在启动应用程序时,我希望网格完全充满行。gridView 的总高度是行高的倍数,因此它包含足够多的行,因此它正好 100% 填充。但是,在添加数据时,我希望这些空行不计在内,因此数据会覆盖这些空行,并且在删除这些行时返回,否则 DataGridView 不会被完全填充。我意识到我可能解释得有点糟糕,但我不确定如何尝试表达我的意思。例如,Excel 的工作方式将是理想的。您从带有空单元格的全屏开始,您可以向其中添加内容。如果您添加的数据多于适合的数据,则会引入一个 scoll 条以仍然能够查看所有数据。当您删除它时,滚动条会变小,直到最终它' s 不再需要,但仍显示单元格。(即使是空的)

提前致谢,

阿诺德

-edit- 关于事物的高度:我可能希望将来可以调整大小。因此,这些信息可能无法被利用。

4

1 回答 1

1

使用用户控件包装 DataGridView 以覆盖添加和删除行。

如果您要删除一行 - 它必须是真实的(未标记为“占位符”[标签?])。如果您的 Count 小于 IdealCount,请添加“占位符”行。

如果您要添加一行 - 如果您的 Count 小于 IdealCount,请删除最后一个“占位符”行。

使用 IdealCount 的“占位符”行数进行初始化。

让行按默认值为 0 的隐藏列和“占位符”值为 1 的隐藏列排序,或者只是在添加覆盖中自己维护行顺序。这样,“占位符”将始终位于最后(如果 Count > IdealCount,则不会有任何)。

于 2012-04-13T15:22:35.160 回答