使用Devexpress 的gridControl 显示DataTable的Master-Detail关系
来源:互联网 发布:淘宝vip钻石卡 编辑:程序博客网 时间:2024/05/22 00:31
绑定Master-Detail 关系 数据也是数据显示的一种方式,此实例使用后台代码创建数据源并绑定到gridcontrol。
其实方式参见:点击打开链接
- 先看效果图(默认方式)
直接给出后台代码,主要使用的是dataset创建关系。private void simpleButton1_Click(object sender, EventArgs e) { // 定义主表 DataTable masterTable = new DataTable("MasterTable"); DataColumn parentColumn = new DataColumn("masterId", typeof(int)); masterTable.Columns.Add(parentColumn); masterTable.Columns.AddRange(new DataColumn[]{ new DataColumn("name",typeof(string)), }); masterTable.Rows.Add(1, "class1"); masterTable.Rows.Add(2, "class2"); masterTable.Rows.Add(3, "class3"); // 定义子表 DataTable detailTable = new DataTable("DetailTable"); DataColumn childrenColumn = new DataColumn("masterId", typeof(int)); detailTable.Columns.Add(childrenColumn); detailTable.Columns.AddRange(new DataColumn[] { new DataColumn("id",typeof(int)), new DataColumn("name",typeof(string)), new DataColumn("age",typeof(string)) }); detailTable.Rows.Add(1, 1, "student1", "age1"); detailTable.Rows.Add(2, 2, "student2", "age2"); detailTable.Rows.Add(2, 3, "student3", "age3"); detailTable.Rows.Add(2, 4, "student4", "age4"); detailTable.Rows.Add(3, 5, "student5", "age5"); detailTable.Rows.Add(3, 6, "student6", "age6"); detailTable.Rows.Add(3, 7, "student7", "age7"); detailTable.Rows.Add(3, 8, "student8", "age8"); using (DataSet ds = new DataSet()) { ds.Tables.AddRange(new DataTable[] { masterTable.Copy(), detailTable.Copy() }); // 创建表关系 DataRelation relation = new DataRelation("detailTable", ds.Tables[0].Columns[0], ds.Tables[1].Columns[0], false); ds.Relations.Add(relation); // 添加 gridControl1.DataSource = ds.Tables[0]; // 指定数据源 } }
- 指定FileName: 设置gridview的Columns的各个列的FileName为dt的ColumnName也可以,这样就可以自定义GridColumn的Caption属性了。
- 使用子gridView显示字表数据:以上创建的gridControl值包含一个默认的gridView,也就是mainView。默认情况下,gridcontrol会根据mastertable的relation 来自动创建并显示detail的数据结构,那么如果想在detail中做些操作,比如 rowupdate结束是自动计算某个值。那就用到了Level Designer(参见:点击打开链接),其名称与 我们创建dt之间的relation时所用到的name必须一致,如上的“detailTable"。创建一个新的gridview2,自定义列,并设定fileName,出现的效果与 1 一致。在gridview2的RowUpdated事件中可以做任何的计算操作。例如,
DataRowView view = e.Row as DataRowView; view[3] = Convert.ToInt32(view[0]) + Convert.ToInt32(view[1]);
此更新会更新至dt,最终反映到gridview2上。
1 0
- 使用Devexpress 的gridControl 显示DataTable的Master-Detail关系
- 如何为 DevExpress.XtraGrid.GridControl 添加 Master-Detail 关系
- DevExpress GridControl的使用
- DevExpress控件XtraGrid的Master-Detail用法
- DevExpress中的GridControl的使用
- DevExpress Gridcontrol的使用小结
- Devexpress的GridControl如何加入行号显示
- DevExpress.XtraGrid.GridControl 控件的使用
- DevExpress gridControl的使用技巧总结
- DevExpress GridControl的使用,DevExpress.XtraGrid.Views.Grid.GridView使用
- DevExpress GridControl的使用,DevExpress.XtraGrid.Views.Grid.GridView使用
- BCB下数据库报表Master/Detail关系功能的实现 |数据库报表,Master/Detail关系,主从复合结构
- 在DevExpress GridControl的一列中显示图片
- Oracle ADF 关于EO Master-Detail关系中新增Detail时带主键值的问题
- DevExpress Grid中实现点击Detail获得Master rowHandle的方法
- DevExpress控件的GridControl控件
- DevEXpress中的GridControl 的使用方法
- DevExpress GridControl 按扭列的操作
- java中遍历实体类属性和类型,属性值
- 【LeetCode】Majority Numbers
- 外包有风险,外包需谨慎
- PHP 与手机 APP 开发(API 接口开发)
- pthread_cond_wait()详解
- 使用Devexpress 的gridControl 显示DataTable的Master-Detail关系
- android 自定义CheckBox的外观样式
- MongoDB自增长ID的实现
- Singleton 单例模式
- SQL语句执行效率及分析(note)
- 黑马程序员-IO-字符流-FileWriter&FileReader
- Spring AOP 实现原理与 CGLIB 应用
- android学习笔记简单通讯录
- Eclipse 卡死在 Android SDK Content Loader