Example #1
0
        /// <summary>
        /// Belso hasznalatra
        /// Vegul is minden ControlTagokTolt itt kot ki, ez vegzi egy-egy inputControl mezoinformaciojanak letrehozasat es a collection-be fuzeset
        /// </summary>
        private void cbtbinfotolt(Base hivo, MezoControlInfo egycontinfo, Control control, Tablainfo tabinfo, MezotagCollection Controlok, TabPage aktivpage, ToolStripMenuItem aktivmenuitem, ToolStripMenuItem aktivdropitem)
        {
            EventTilt = true;
            egycontinfo.ParentControl = control.Parent;
            MezotagCollection controlok = Controlok;
            TextBox tb;
            FormattedTextBox.FormattedTextBox ftb;
            ComboBox cb;
            DateTimePicker pk;
            Label lb;
            MezoTag egytag = null;
            Cols egycol;
            Cols egyinp;
            DataGridView gw;
            int numind;
            string egytagstring = "";
            bool talalt = false;
            if (control.Tag != null)
            {
                try
                {
                    MezoTag tag = (MezoTag)control.Tag;
                    egytagstring = tag.Mezonev;
                }
                catch
                {
                    egytagstring = control.Tag.ToString();
                }
            }
            string nevi = control.GetType().FullName;
            for (int i = 0; i < _fullnevek.Length; i++)
            {
                if (_fullnevek[i] == nevi)
                {
                    talalt = true;
                    numind = i;
                    if (egytagstring != "" || i == 7)
                    {
                        if (i == 7) // DataGridView
                        {
                            gw = (DataGridView)control;
                            egycontinfo.DataGridView = gw;
                            egytag = new MezoTag(tabinfo, "", this, egycontinfo, aktivpage, aktivmenuitem, aktivdropitem, gw);
                            tabinfo.Adattabla.GridView = gw;
                            egytag.Hivo = hivo;
                            egytag.Elemindex = i;
                            control.Tag = egytag;
                            egytag.Control = control;
                            egytag.Controltipus = _nevek[i];
                            if (gw.ReadOnly)
                                gw.Columns.AddRange(tabinfo.CreateGridViewColumns(true));
                            else
                            {
                                egytag.Control.Enabled = false;
                                //egytag.DataGridView.CellEnter += new DataGridViewCellEventHandler(DataGridView_CellEnter);
                                //egytag.DataGridView.CellLeave += new DataGridViewCellEventHandler(DataGridView_CellLeave);
                                //egytag.DataGridView.UserAddedRow += new DataGridViewRowEventHandler(DataGridView_UserAddedRow);
                                //egytag.DataGridView.UserDeletingRow += new DataGridViewRowCancelEventHandler(DataGridView_UserDeletingRow);
                                //                                egytag.DataGridView.Scroll += new ScrollEventHandler(DataGridView_Scroll);

                                for (int j = 0; j < egytag.DataGridView.ColumnCount; j++)
                                {
                                    DataGridViewColumn dgcol = (DataGridViewColumn)egytag.DataGridView.Columns[j];
                                    if (!dgcol.ReadOnly && dgcol.Visible)
                                    {
                                        MezoTag egytag1 = new MezoTag(tabinfo, dgcol.Name, this, egycontinfo, aktivpage, aktivmenuitem, aktivdropitem);
                                        egytag1.Hivo = hivo;
                                        controlok.Add(egytag1);
                                        try
                                        {
                                            DataGridViewTextBoxColumn tbcol = (DataGridViewTextBoxColumn)dgcol;
                                            egytag1.AktivCell = new DataGridViewTextBoxCell();
                                            egytag1.AktivCell.Style.BackColor = _aktivinputbackcolor;
                                            egytag1.AktivCell.Style.Font = _aktivinputfont;
                                            egytag1.TextBoxColumn = tbcol;
                                            egytag1.Controltipus = "TextBoxCell";
                                        }
                                        catch
                                        {
                                            try
                                            {
                                                DataGridViewCheckBoxColumn cbcol = (DataGridViewCheckBoxColumn)dgcol;
                                                egytag1.AktivCell = new DataGridViewCheckBoxCell();
                                                egytag1.AktivCell.Style.BackColor = _aktivinputbackcolor;
                                                egytag1.AktivCell.Style.Font = _aktivinputfont;
                                                egytag1.CheckBoxColumn = cbcol;
                                                egytag1.Controltipus = "CheckBoxCell";
                                            }
                                            catch
                                            {
                                                DataGridViewComboBoxColumn combocol = (DataGridViewComboBoxColumn)dgcol;
                                                egytag1.AktivCell = new DataGridViewComboBoxCell();
                                                egytag1.AktivCell.Style.BackColor = _aktivinputbackcolor;
                                                egytag1.AktivCell.Style.Font = _aktivinputfont;
                                                egytag1.ComboBoxColumn = combocol;
                                                egytag1.Controltipus = "ComboBoxCell";
                                            }
                                        }

                                        dgcol.Tag = egytag1;
                                        egytag1.Control = null;
                                        egytag1.ParentGrid = egytag.DataGridView;
                                        egytag1.ParentView = egytag.DataView;
                                    }
                                }
                            }
                        }
                        else
                        {
                            egycol = tabinfo.TablaColumns[egytagstring];
                            if (egycol.Comboe && egycol.Csakolvas)
                                egyinp = egycol;
                            else
                                egyinp = tabinfo.InputColumns[egytagstring];
                            egytag = new MezoTag(tabinfo, egytagstring, this, egycontinfo, aktivpage, aktivmenuitem, aktivdropitem);
                            egytag.Elemindex = i;
                            egytag.Hivo = hivo;
                            control.Tag = egytag;
                            if (control.Enabled)
                            {
                                control.Enter += new EventHandler(Elem_Enter);
                                control.Leave += new EventHandler(Elem_Leave);
                            }
                            egytag.Control = control;
                            egytag.ParentControl = control.Parent;
                            egytag.Controltipus = _nevek[i];
                            controlok.Add(egytag);
                            switch (i)
                            {
                                case 1:
                                    ftb = (FormattedTextBox.FormattedTextBox)control;
                                    if (egycol.Numeric(egycol.DataType))
                                    {
                                        int tized = egycol.Tizedesek;
                                        switch (tized)
                                        {
                                            case 0:
                                                ftb.Format = "N0";
                                                break;
                                            case 1:
                                                ftb.Format = "N1";
                                                break;
                                            case 3:
                                                ftb.Format = "N3";
                                                break;
                                            case 4:
                                                ftb.Format = "N4";
                                                break;
                                            default:
                                                ftb.Format = "N2";
                                                break;
                                        }
                                    }
                                    else
                                        ftb.Format = egycol.Format;
                                    break;
                                case 5:
                                    pk = (DateTimePicker)control;
                                    pk.Value = DateTime.Today;
                                    if (egyinp == null)
                                        pk.Enabled = false;
                                    break;
                                case 6:
                                    lb = (Label)control;
                                    lb.Text = egycol.Sorszov;
                                    break;
                            }
                            if (!egycol.Inputlathato)
                                control.Visible = false;
                            if (egyinp == null)
                                control.Enabled = false;
                            else
                            {
                                switch (i)
                                {
                                    case 0:
                                        tb = (TextBox)control;
                                        if (egyinp.InputMaxLength > 0)
                                            tb.MaxLength = egyinp.InputMaxLength;
                                        break;
                                    case 1:
                                        ftb = (FormattedTextBox.FormattedTextBox)control;
                                        if (egyinp.InputMaxLength > 0)
                                            ftb.MaxLength = egyinp.InputMaxLength;
                                        break;
                                    case 2:
                                        cb = (ComboBox)control;
                                        cb.SelectionLength = 0;
                                        cb.Text = egyinp.ComboAktSzoveg;
                                        cb.Items.Clear();
                                        egycol.Combo_Info.SetComboItems(cb, egycol, egycol.Tartalom);
                                        if (egycol.Combo_Info.Szovegbe.Length != 0)
                                            cb.DropDownWidth = egycol.Combo_Info.Maxhossz * 9;
                                        break;
                                }
                            }
                        }
                    }
                }
            }
            if (!talalt && control.Controls.Count != 0)
            {
                for (int j = 0; j < control.Controls.Count; j++)
                {
                    cbtbinfotolt(hivo, egycontinfo, control.Controls[j], tabinfo, controlok, aktivpage, aktivmenuitem, aktivdropitem);
                    egycontinfo.ParentControl = control.Controls[j].Parent;
                }
            }
            EventTilt = false;
        }