【C#】GridControl 和 GridView

在 C# WinForms 中,GridControlGridViewDevExpress 提供的两个常用控件,它们用于显示和管理数据表格。它们之间的关系如下:

1. GridControlGridView 的基本关系

  • GridControl :是一个容器控件,用于显示表格数据。它本身并不直接负责数据的显示,而是提供一个框架来展示不同类型的视图(如 GridView)。

  • GridView :是 GridControl 的一种视图(view),用于显示和操作数据。GridViewGridControl 的具体呈现方式,它负责如何在 GridControl 内部展示数据的细节,处理用户交互、排序、筛选等。

2. GridControl 是父控件,GridView 是子控件

  • GridControl 是用于显示数据的容器,可以有多个视图(GridViewCardView 等)。
  • GridViewGridControl主视图 ,通过 MainView 属性关联。

GridControl 中,GridView 是最常用的视图 ,它负责呈现数据的行和列。你可以将不同的视图添加到 GridControl,但是通常我们会使用 GridView 作为主视图来显示表格数据。

3. GridControlGridView 关系的代码示例

假设你有一个 GridControl 和一个 GridView,它们之间的关系可以通过如下代码建立:

csharp 复制代码
// 创建一个新的 GridView
GridView gridView1 = new GridView();

// 创建 GridControl 并将其设置为主视图
GridControl gridControl1 = new GridControl();
gridControl1.MainView = gridView1;  // 将 GridView 设置为 GridControl 的主视图

// 设置数据源
gridControl1.DataSource = someDataSource;  // 数据源可以是 DataTable、BindingList 等

4. GridControlGridView 关系的详细解释

  • GridControl 是容器控件,它的主要作用是将各种视图呈现给用户。一个 GridControl 可以包含多个视图(比如 GridViewCardViewBandedGridView 等),但通常情况下,GridView 被用作主要的视图类型。

  • GridView 是一个 视图类型 ,它是 GridControl 用来呈现表格数据的具体方式。GridView 控件负责显示行和列、排序、过滤、编辑、单元格交互等。你可以通过不同的 GridView 设置来控制数据的展示方式,比如:列宽、字体、颜色、排序规则、是否允许编辑等。

5. 设置和操作 GridControlGridView

  • 设置数据源GridControlDataSource 属性用于绑定数据。数据源可以是 DataTableBindingListIEnumerable 等数据类型。
csharp 复制代码
gridControl1.DataSource = dataTable;
  • 获取数据 :你可以通过 GridView 来访问当前 GridControl 中的数据,例如获取当前选中的行数据。
csharp 复制代码
GridView gridView = gridControl1.MainView as GridView;
var selectedRow = gridView.GetRow(gridView.FocusedRowHandle);  // 获取选中行的数据
  • 显示列 :你可以通过 GridViewColumns 集合来管理表格中的列。你可以添加、删除、调整列的显示、排序等。
csharp 复制代码
gridView1.Columns["ColumnName"].Visible = false; // 隐藏列

6. 常见操作

  • 显示数据 :数据展示通常通过 GridView 完成,GridControl 提供了数据容器和控制界面。
  • 数据排序GridView 提供了排序功能,用户可以点击列标题进行升降序排序。
  • 筛选数据GridView 还支持基于列值的筛选。

7. 总的来说,GridControlGridView 的关系:

  • GridControl 是容器,它持有一个或多个视图(通常是 GridView)。
  • GridView 是用来展示数据的具体实现,负责如何将数据呈现给用户,包括行、列、编辑、排序、过滤等操作。

通过这种方式,GridControlGridView 协同工作,提供了灵活和强大的数据展示和交互功能。

相关推荐
李少兄16 分钟前
Java 中只有值传递吗?
java·开发语言·python
张人玉39 分钟前
基于 C# / .NET 8 + Windows Forms + SQLite 的桌面银行业务演示系统——华夏示范银行管理系统
windows·sqlite·c#·.net
可乐鸡翅yeah_39 分钟前
hls.js 播放质量埋点实战,采集卡顿、起播、错误指标定位线上用户问题
开发语言·前端·javascript·ecmascript·音视频·m3u8·音视频在线播放
1314lay_100740 分钟前
C#调用Sql Server存储过程,并且使用传入表结构
数据库·经验分享·笔记·sqlserver·c#
szarron1 小时前
RF Demo Kit|NanoVNA 射频演示测试板完整上手教程,滤波器、衰减器、SOLT 校准学习板
开发语言·人工智能·学习·php·射频工程·频谱仪
边境悍匪1 小时前
蜗牛学苑 Java 智能体学习 Day39|SpringAI 会话存储、Function‑Call 工具调用、MCP 思维导图复盘
java·开发语言·spring boot·学习·阿里云
慧都小妮子1 小时前
.NET 报表控件选型对比:Stimulsoft 与 FastReport 怎么选
c#·.net·报表开发·数据可视化·报表控件·报表引擎选型
万物智能信息科技1 小时前
RK3568 的多路显示移植—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
linux·开发语言·华为·开源·harmonyos
蓝悦无人机2 小时前
Qt Design Studio(QDS)4.8.2项目文件结构详解
开发语言·qt·qt creator·qds·项目文件结构·qtc
yxlalm2 小时前
4.java秒杀项目第四课-后端商品后台接口
java·开发语言