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 提供了多种自定义其外观和行为的方法。
情景要点
您可以提供自己的细胞染色代码。 有关详细信息,请参阅 “如何:自定义 Windows 窗体 DataGridView 控件中单元格的外观”。
可以提供自己的行画。 例如,这非常有用,用于创建包含跨多个列的内容的行。 有关详细信息,请参阅 如何自定义 Windows 窗体 DataGridView 控件中行的外观。
可以实现自己的单元格和列类来自定义单元格外观。 有关详细信息,请查看 如何:扩展 Windows 窗体 DataGridView 控件中单元格和列的行为和外观以进行自定义。
你可以实现自己的单元格和列类,以托管非内置列类型提供的控件。 有关详细信息,请参阅 如何:在 Windows 窗体 DataGridView 单元格中承载控件。