这篇文章介绍了C#对XtraGrid控件实现主从表关系绑定的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
1、准备源数据。
/// <summary>
/// 记录基础信息
/// </summary>
public class DetailInfo
{
public DetailInfo()
{
this.ID = Guid.NewGuid().ToString();
}
/// <summary>
/// ID标识
/// </summary>
public string ID { get; set; }
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 描述信息
/// </summary>
public string Description { get; set; }
}
/// <summary>
/// 二级层次的列表
/// </summary>
public class Detail2Result : DetailInfo
{
public List<DetailInfo> Detail2List { get; set; }
}
2、绑定数据源
/// <summary>
/// 绑定数据源
/// </summary>
private void BindData()
{
//创建测试数据
var result1 = new Detail2Result()
{
Name = "测试1",
Description = "描述内容",
Detail2List = new List<DetailInfo>()
{
new DetailInfo()
{
Name = "111测试",
Description = "111描述内容"
},
new DetailInfo()
{
Name = "222测试",
Description = "222描述内容"
},
new DetailInfo()
{
Name = "333测试",
Description = "333描述内容"
}
}
};
var result2 = new Detail2Result()
{
Name = "测试2",
Description = "描述内容",
Detail2List = new List<DetailInfo>()
{
new DetailInfo()
{
Name = "111测试",
Description = "111描述内容"
},
new DetailInfo()
{
Name = "222测试",
Description = "222描述内容"
},
new DetailInfo()
{
Name = "333测试",
Description = "333描述内容"
}
}
};
//构造一个记录的集合
var list = new List<Detail2Result>() { result1, result2 };
//绑定数据源
this.gridControl.DataSource = list;
}
3、DevExpress的GridControl控件的设置
在主视图下添加一层视图为gridView2,并修改当前视图的 Change LeveName 为Detail2List (如果不修改结果是数据绑定失败)
设置gridView2属性中的ViewCaption 属性。
4、效果
5、子表格获取行数据
DevExpress.XtraGrid.Views.Grid.GridView currentView = (DevExpress.XtraGrid.Views.Grid.GridView)this.gridControl.FocusedView;
DetailInfo focusRow = currentView.GetFocusedRow() as DetailInfo; //用在事件中:currentView.GetRow(e.RowHandle) as DetailInfo;
XtraMessageBox.Show(focusRow.Name);
到此这篇关于C#对XtraGrid控件实现主从表关系绑定的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持得得之家。
沃梦达教程
本文标题为:C#对XtraGrid控件实现主从表关系绑定
基础教程推荐
猜你喜欢
- 一个读写csv文件的C#类 2022-11-06
- C#类和结构详解 2023-05-30
- C# 调用WebService的方法 2023-03-09
- ZooKeeper的安装及部署教程 2023-01-22
- C#控制台实现飞行棋小游戏 2023-04-22
- C# List实现行转列的通用方案 2022-11-02
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- unity实现动态排行榜 2023-04-27
- winform把Office转成PDF文件 2023-06-14
- C# windows语音识别与朗读实例 2023-04-27