示例#1
0
        private void loadMetaFields(int metaTableId)
        {
            //The relationship handling should maybe be moved to MetadataNewDa instead, returning the complete Dataset
            MetadataNewDa MNDa = new MetadataNewDa();
            DataSet       ds   = new DataSet();

            DataTable ParentFields = new DataTable();

            ParentFields = MNDa.GetMetaFieldsForAMetaTable(ParentFields, metaTableId);


            if (ParentFields.Rows.Count < 1)
            {
                lblEtFields.Visible = true;
                lblEtFields.Text    = "None";
                dgEtFields.Visible  = false;
            }
            else
            {
                ParentFields.TableName = "ParentTable";

                DataTable ChildAttributes = new DataTable();
                ChildAttributes           = MNDa.GetAttributeValuesForAMetaTable(ChildAttributes, metaTableId);
                ChildAttributes.TableName = "ChildTable";

                ds.Tables.Add(ParentFields);
                ds.Tables.Add(ChildAttributes);

                DataRelation dr = new DataRelation("ParentTable_ChildTable", ParentFields.Columns["FieldId"], ChildAttributes.Columns["FieldId"], false);
                dr.Nested = true;
                ds.Relations.Add(dr);

                lblEtFields.Visible   = false;
                dgEtFields.DataSource = ds;
                dgEtFields.DataBind();
                dgEtFields.Visible = true;
            }
        }