private void AddTableColumnsDropDown(DmlfRelation rel)
        {
            var item = btnAddTableColumns.DropDownItems.Add(rel.SafeToString() ?? "(SOURCE)");

            item.Tag    = rel;
            item.Click += new EventHandler(addTableItem_Click);
        }
 private ITableStructure GetTableStruct(DmlfRelation rel)
 {
     if (rel == null)
     {
         return(m_table);
     }
     return(GetTableStruct(rel.Reference.TableOrView));
 }
        private ListViewItem AddRelation(DmlfRelation rel)
        {
            var item = lsvRelations.Items.Add(GetRelationSourceText(rel));

            item.Tag = rel;
            item.SubItems.Add(rel.Reference != null && rel.Reference.TableOrView != null ? rel.Reference.TableOrView.ToString() : "");
            item.SubItems.Add(rel.Reference != null && rel.Reference.Alias != null ? rel.Reference.Alias : "");
            return(item);
        }
        private string GetRelationSourceText(DmlfRelation rel)
        {
            string src = "(SOURCE)";
            var    rs  = rel.Conditions.FindAnySource(false, true);

            if (rs != null)
            {
                src = rs.ToString();
            }
            return(src);
        }
 private void FillAvailableColSources(DataGridViewComboBoxColumn col, DmlfRelation rel, ITableStructure ts)
 {
     foreach (var cs in ts.Columns)
     {
         var tpc = new DmlfColumnRef
         {
             Source     = rel != null ? rel.Reference : DmlfSource.BaseTable,
             ColumnName = cs.ColumnName,
         };
         m_colSources[tpc.ToString()] = tpc;
         col.Items.Add(tpc.ToString());
     }
 }
        private void LoadCurrentRelation()
        {
            m_loadingRelation = true;
            try
            {
                ClearRelationCtrls();
                m_loadedRelation = null;
                if (lsvRelations.SelectedIndices.Count > 0)
                {
                    m_loadedRelation = (DmlfRelation)lsvRelations.Items[lsvRelations.SelectedIndices[0]].Tag;
                }
                if (m_loadedRelation != null)
                {
                    rbtLeftJoin.Checked = true;
                    if (m_loadedRelation.JoinType == DmlfJoinType.Inner)
                    {
                        rbtInnerJoin.Checked = true;
                    }
                    tbxAlias.Text = m_loadedRelation.Reference != null && m_loadedRelation.Reference.Alias != null ? m_loadedRelation.Reference.Alias : "";
                    cbxReferencedTable.SelectedIndex = m_loadedRelation.Reference != null?cbxReferencedTable.Items.IndexOf(m_loadedRelation.Reference.TableOrView) : -1;

                    //cbxBindingTable.Items.Clear();
                    //cbxBindingTable.Items.Add("(SOURCE)");

                    //foreach(var rel in GetRelationsBeforeCurrent())
                    //{
                    //    if (rel.Reference != null) cbxBindingTable.Items.Add(rel.Reference);
                    //}

                    //var s0 = m_loadedRelation.GetRelationSource();
                    //if (s0 == null) cbxBindingTable.SelectedIndex = 0;
                    //else cbxBindingTable.SelectedIndex = cbxBindingTable.Items.IndexOf(s0);

                    CreateRelationCtrls();
                }
            }
            finally
            {
                m_loadingRelation = false;
            }
            rbtInnerJoin.Enabled = rbtLeftJoin.Enabled = cbxReferencedTable.Enabled = tbxAlias.Enabled = m_loadedRelation != null;
        }