[DevExpress]GridControl主从表显示

标签: 主从表
493人阅读 评论(0) 收藏 举报
分类:
今天接到用户的需求,物流分摊费用保存在销货单主表中,但物流人员需要看到从表的销货明细包含哪些产品和数量。主从表设计:
先看看效果吧:

这里写图片描述

private void GetDataList()
        {
            string sb = GetSQL();
            try
            {
                DBCon db = new DBCon(this.company);
                //销货单
                DataSet MatserDs = SqlHelper.ExecuteDataset(db.StringConnection(), CommandType.Text, sb.ToString());
                DataTable MatserDt = MatserDs.Tables[0];
                MatserDt.TableName = "Matser";
                if (MatserDt.Rows.Count > 0)
                {
                    //销货明细
                    string subSQL = "Select TH003 序号,TH004 品号,TH005 品名,TH006 规格,TH008 数量,TH001+Rtrim(TH002) AS DetailID FROM COPTH ";
                    DataSet DetailDs = SqlHelper.ExecuteDataset(db.StringConnection(), CommandType.Text, subSQL.ToString());
                    DataTable DetailDt = DetailDs.Tables[0];
                    DetailDt.TableName = "Detail";
                    DetailDs.Tables.Remove(DetailDt);
                    MatserDs.Tables.Add(DetailDt);


                    DataColumn keyColumn = MatserDs.Tables["Matser"].Columns["MasterID"];         //主键
                    DataColumn foreignColumn = MatserDs.Tables["Detail"].Columns["DetailID"];    //外键
                     //
                    //对于主从表,层次名至关重要,关系名必须和从表的层次名一致,
                    //否则从表显示的是从表的所有字段,而不是所设计的显示字段
                    //

                    MatserDs.Relations.Add("Detail", keyColumn, foreignColumn,false);     //从表的层次名
                    GridControl1.DataSource = MatserDs.Tables["Matser"];


                    btnFirst.Enabled = true;
                    btnLast.Enabled = true;
                    btnNetxt.Enabled = true;
                    btnPre.Enabled = true;
                    btnPreview.Enabled = true;
                }

            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.ToString(), "警告");
            }
            txtScan.Text = "";
        }
查看评论

SMART POINTER(智能指针)

智能指针(smart pointer):智能指针是其实是一个对象A,它带有一个模针成员变量m_p.用该A管理m_p,通过这种管理机制,可以防止由于new而导致的内存泄漏.智能指针对象在使用时像指针一样...
  • zhaozhencn
  • zhaozhencn
  • 2004-02-03 13:51:00
  • 1579

GridControl主从表设置

GridControl主从表的设置有目前我知道有2种方法一种是使用datarelation,一直是在对象中增加Childs 的 list。说实话,一开始弄这个主从表都弄的头大了。由于是做项目,都是使用...
  • yunanzhe987
  • yunanzhe987
  • 2012-07-19 21:39:38
  • 4764

DevExpressControl中的GridControl展现主从表数据结构

用DevExpress的GridControl展示层次数据结构。
  • blogtjf
  • blogtjf
  • 2015-04-21 16:07:37
  • 3934

GridControl 控件-----List<T>数据源 实现主从表关系绑定

网上有很多有关GridControl 控件的使用和属性调整,本系列博文中不在说明. 下面先说GridControl 如何用List作为数据源实现主从关系视图,博主在刚开始做的时候也是按网上的教程进行...
  • z4808415
  • z4808415
  • 2012-09-17 15:52:21
  • 3445

DevExpress GridControl主从表

DevExpress一个非常强大的控件集,相信许多人在使用过后,都不会遗忘它。本文也是我有实际使用过程中,通过网上搜索资料,所总结的。   private void InitData()     ...
  • codefighting
  • codefighting
  • 2012-04-13 16:22:26
  • 6255

DevExpress GridControl gridView 主从表

DataSet ds = new DataSet(); //父GridView的数据 string sql = "select sc_prno,sc_p...
  • bk8897
  • bk8897
  • 2014-02-07 17:11:05
  • 4712

DevExpress中GridControl 主从表如何实现

  • 2012年08月31日 13:16
  • 50KB
  • 下载

Dev 主从表 带checkbox选择从表数据,

这是我自己使用选择打印时获取选择项的一点代码希望对用到的朋友有帮助,有高手请指点怎么能选择多个从表的内容 private void metroButton1_Click(object sender,...
  • xiaoyu2516
  • xiaoyu2516
  • 2016-11-12 16:38:48
  • 389

DevExpress中XtraGrid主从表数据显示的简单实现

实现如下效果 部门人员信息表按照所在部门表进行分组显示,即部门表为主表,人员信息表为从表 则 //获取部门信息 DataSet ds = SqlHe...
  • a237428367
  • a237428367
  • 2012-03-16 11:42:28
  • 5028

DEV 主从表

.aspx     Namespace="DevExpress.Web.ASPxPopupControl" TagPrefix="dxpc" %>     Namespace=...
  • ge19920611
  • ge19920611
  • 2015-06-05 09:29:41
  • 889
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 257万+
    积分: 3万+
    排名: 133
    博客专栏
    最新评论
    文章存档