DataGridView 控件方案(Windows 窗体)

通过 DataGridView 控件,可以显示来自各种数据源的表格数据。 对于简单的使用,可以手动填充 DataGridView 并直接通过控件操作数据。 但是,通常你会将数据存储在外部数据源中,并通过 BindingSource 组件将控件绑定到该数据源。

本主题介绍涉及 DataGridView 控件的一些常见方案。

方案 1:显示少量数据

无需将数据存储在外部数据源中即可在 DataGridView 控件中显示。 如果使用少量数据,可以自行填充控件并通过控件操作数据。 这称为“未绑定模式”。 有关详细信息,请参阅如何:创建未绑定 Windows 窗体 DataGridView 控件

方案要点

  • 在未绑定模式下,手动填充控件。

  • 未绑定模式特别适合少量只读数据。

  • 未绑定模式还适用于类似电子表格的表或稀疏填充的表。

方案 2:查看和更新存储在外部数据源中的数据

可以将 DataGridView 控件用作用户界面 (UI),用户可以通过它访问数据源中保留的数据,例如数据库表或业务对象集合。 有关详细信息,请参阅如何:将数据绑定到 Windows 窗体 DataGridView 控件

方案要点

  • 通过绑定模式,可以连接到数据源、基于数据源属性或数据库列自动生成列,并自动填充控件。

  • 绑定模式适用于与数据进行大量用户交互。 可以设置数据的显示格式,用户指定的数据可以分析为数据源预期的格式。 可以检测数据输入格式错误和数据库约束错误,以便向用户发出警告并更正错误的单元格。

  • 列排序、冻结和重新排序等附加功能使用户能够以最适合其工作流的方式查看数据。

  • 剪贴板支持使用户能够将数据从你的应用程序复制到其他应用程序。

方案 3:高级数据

如果有标准数据绑定模型无法解决的特殊需求,可以通过实现虚拟模式来管理控件与数据之间的交互。 实现虚拟模式意味着实现一个或多个事件处理程序,以便控件在需要信息时请求有关单元格的信息。

例如,如果使用大量数据,则可能需要实现虚拟模式以确保最佳效率。 虚拟模式还可用于维护与从其他数据源检索的列一起显示的未绑定列的值。

有关虚拟模式的详细信息,请参阅演练:在 Windows 窗体 DataGridView 控件中实现虚拟模式

方案要点

  • 虚拟模式适用于在需要优化性能时显示大量数据。

方案 4:自动调整行和列的大小

显示定期更新的数据时,可以自动调整行和列的大小,以确保所有内容都可见。 DataGridView 控件提供了多个选项,可用于启用或禁用手动调整大小、以编程方式在特定时间调整大小,或者在内容发生更改时自动调整大小。 有关详细信息,请参阅在 Windows 窗体 DataGridView 控件中调整选项大小

方案要点

  • 手动调整大小使用户能够调整单元格的高度和宽度。

  • 通过自动调整大小,可维护单元格大小,以便永远不会剪裁单元格内容。

  • 通过以编程方式调整大小,可以在特定时间调整单元格大小,以避免连续自动调整大小导致的性能降低。

方案 5:简单自定义

DataGridView 控件提供了多种更改其基本外观和行为的方式。 有关详细信息,请参阅 Windows 窗体 DataGridView 控件中的单元格样式

方案要点

  • DataGridViewCellStyle 对象可让你在多个级别以及为控件的各个元素提供颜色、字体、格式设置和定位信息。

  • 单元格样式可以分层并由多个元素共享,让你可重复使用代码。

方案 6:高级自定义

DataGridView 控件提供了多种自定义其外观和行为的方式。

方案要点

另请参阅