[DevExpress]GridControl主从表显示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/david_520042/article/details/78549978
今天接到用户的需求,物流分摊费用保存在销货单主表中,但物流人员需要看到从表的销货明细包含哪些产品和数量。主从表设计:
先看看效果吧:

这里写图片描述

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 = "";
        }
阅读更多

扫码向博主提问

厦门德仔

博客专家

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • ERP
  • .NET
  • SQL
  • Ext.Net
  • DevExpress
去开通我的Chat快问
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页