Ejemplo n.º 1
0
        public static void BindComboBox(ComboBox box, DataColumn column)
        {
            if (box == null || column == null)
            {
                return;
            }

            BindingSource bs = GetBindingSource(column.Table);

            if (bs != null)
            {
                box.DataBindings.Add("SelectedValue", bs, column.ColumnName);
            }

            box.Tag    = column;
            box.Leave -= new EventHandler(ControlLeave);
            box.Leave += new EventHandler(ControlLeave);

            RuleColumn rcolumn = TableUtil.GetRuleColumn(column);

            if (rcolumn != null)
            {
                InitComboBox(box, rcolumn);
            }
            else
            {
                box.ValueMember   = column.ColumnName;
                box.DisplayMember = column.ColumnName;
                box.Text          = "";
            }
        }
Ejemplo n.º 2
0
        public static void BindMaskedTextBox(MaskedTextBox box, DataColumn column)
        {
            if (box == null || column == null)
            {
                return;
            }

            BindingSource bs = GetBindingSource(column.Table);

            if (bs != null)
            {
                box.DataBindings.Add("Text", bs, column.ColumnName);
            }

            box.Tag    = column;
            box.Leave -= new EventHandler(ControlLeave);
            box.Leave += new EventHandler(ControlLeave);

            RuleColumn rc = TableUtil.GetRuleColumn(column);

            if (rc != null)
            {
                box.Mask = rc.Mask;
            }

            box.Text = "";
        }
Ejemplo n.º 3
0
        public static void BindControls(Control container, DataTable table, bool searchChildren, string alias)
        {
            if (container == null || table == null)
            {
                return;
            }

            DataColumnCollection columns = table.Columns;

            if (columns != null && columns.Count > 0)
            {
                ResetLabels(container, alias);

                Control[]  ctrls;
                DataColumn column;
                RuleColumn rc;
                int        editIndex;
                for (int i = 0; i < columns.Count; i++)
                {
                    column = columns[i];
                    rc     = TableUtil.GetRuleColumn(column);

                    if (rc != null && !rc.EditCtrlVision)
                    {
                        continue;
                    }

                    editIndex = (rc != null ? rc.EditIndex : i + 1);

                    ctrls = FindControls(container, "label", alias, editIndex, column.ColumnName, searchChildren);
                    if (ctrls != null && ctrls.Length > 0)
                    {
                        foreach (Control ctrl in ctrls)
                        {
                            ctrl.Text = column.Caption + ":";
                        }
                    }

                    ctrls = FindControls(container, "commonEditBox,textBox,checkBox,comboBox,dateTimePicker,richTextBox,pictureBox", alias, editIndex, column.ColumnName, searchChildren);
                    if (ctrls != null && ctrls.Length > 0)
                    {
                        foreach (Control ctrl in ctrls)
                        {
                            BindControl(ctrl, column);
                        }
                    }
                }

                ctrls = FindControls(container, "dataGridView", alias, 1, table.TableName, searchChildren);
                if (ctrls != null && ctrls.Length > 0)
                {
                    foreach (Control ctrl in ctrls)
                    {
                        InitDataGridViewColumns(ctrl as DataGridView, table);
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public static void BindDateTimePicker(DateTimePicker picker, DataColumn column)
        {
            if (picker == null || column == null || !column.DataType.ToString().Equals("System.DateTime"))
            {
                return;
            }

            BindingSource bs = GetBindingSource(column.Table);

            if (bs != null)
            {
                picker.DataBindings.Add("Text", bs, column.ColumnName);
            }

            picker.Tag    = column;
            picker.Leave -= new EventHandler(ControlLeave);
            picker.Leave += new EventHandler(ControlLeave);

            if (picker.CustomFormat == null || picker.CustomFormat.Equals(""))
            {
                RuleColumn rcolumn = TableUtil.GetRuleColumn(column);
                if (rcolumn != null)
                {
                    switch (rcolumn.DataType)
                    {
                    case DataTypes.dtDateTime:
                        picker.CustomFormat = "yyyy-MM-dd HH:mm:ss";
                        break;

                    case DataTypes.dtDate:
                        picker.CustomFormat = "yyyy-MM-dd";
                        break;

                    case DataTypes.dtTime:
                        picker.CustomFormat = "HH:mm:ss";
                        break;

                    default:
                        return;
                    }
                    picker.Format = DateTimePickerFormat.Custom;
                }
            }
        }
Ejemplo n.º 5
0
        public static void BindCheckBox(CheckBox box, DataColumn column)
        {
            if (box == null || column == null || !column.DataType.ToString().Equals("System.Boolean"))
            {
                return;
            }

            BindingSource bs = GetBindingSource(column.Table);

            if (bs != null)
            {
                box.DataBindings.Add("Checked", bs, column.ColumnName);
            }

            box.Tag    = column;
            box.Leave -= new EventHandler(ControlLeave);
            box.Leave += new EventHandler(ControlLeave);

            if (box.Name.Equals("") || box.Name.StartsWith("checkBox"))
            {
                RuleColumn rcolumn = TableUtil.GetRuleColumn(column);
                if (rcolumn != null)
                {
                    box.Text = rcolumn.Label;

                    string    labelname = box.Name.Replace("checkBox", "label");
                    Control[] ctrls     = box.Parent is CommonEditBox?box.Parent.Parent.Controls.Find(labelname, false) : box.Parent.Controls.Find(labelname, false);

                    if (ctrls.Length > 0)
                    {
                        ctrls[0].Text = "";
                    }
                }
            }

            box.Checked = false;
        }
Ejemplo n.º 6
0
        public static void InitDataGridViewColumns(DataGridView grid, DataTable table)
        {
            if (grid == null || table == null)
            {
                return;
            }

            //if (grid.Columns.Count > 0)
            //    grid.Columns.Clear();

            if (grid.Columns.Count == 0)
            {
                grid.EditingControlShowing -= new DataGridViewEditingControlShowingEventHandler(DataGridViewEditingControlShowing);
                grid.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(DataGridViewEditingControlShowing);

                DataRule dr = TableUtil.GetDataRule(table);
                if (dr != null)
                {
                    DataColumnCollection columns = table.Columns;
                    if (columns.Count > 0)
                    {
                        DataGridViewColumn gcolumn;
                        RuleColumn         rcolumn;
                        foreach (DataColumn column in columns)
                        {
                            rcolumn = TableUtil.GetRuleColumn(column);
                            if (rcolumn != null)
                            {
                                gcolumn = CreateDataGridViewColumn(rcolumn);
                                grid.Columns.Add(gcolumn);
                            }
                            else
                            {
                                InitDataGridViewColumns(grid, dr);
                                break;
                            }
                        }
                    }
                    else
                    {
                        InitDataGridViewColumns(grid, dr);
                    }
                }
                else if (table.Columns.Count > 0)
                {
                    DataGridViewColumn gcolumn;

                    foreach (DataColumn column in table.Columns)
                    {
                        if (TableUtil.StrProperty(column, "Visible").Equals("0"))
                        {
                            continue;
                        }

                        gcolumn = null;

                        string datatype = column.DataType.ToString();

                        if (datatype.Equals("System.Boolean"))
                        {
                            gcolumn              = new DataGridViewCheckBoxColumn();
                            gcolumn.Width        = column.MaxLength > 50 ? column.MaxLength : 50;
                            gcolumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
                        }
                        else if (datatype.Equals("System.DateTime"))
                        {
                            gcolumn              = new CalendarColumn("yyyy-MM-dd HH:mm:ss");
                            gcolumn.Width        = 130;
                            gcolumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
                        }
                        else
                        {
                            string mapInfo = TableUtil.StrProperty(column, "MapInfo");
                            if (!mapInfo.Equals(""))
                            {
                                DataMap dm = SystemContext.MapManager.FromMapInfo(mapInfo);
                                if (dm != null)
                                {
                                    DataTable mtable = dm.GetMapTable(null);
                                    if (mtable != null && mtable.Rows.Count > 0)
                                    {
                                        gcolumn = new DataGridViewComboBoxColumn();
                                        DataGridViewComboBoxCell combboxcell = gcolumn.CellTemplate as DataGridViewComboBoxCell;
                                        if (combboxcell != null)
                                        {
                                            combboxcell.DataSource    = mtable;
                                            combboxcell.ValueMember   = "Key";
                                            combboxcell.DisplayMember = "Value";
                                        }
                                    }
                                }
                            }

                            if (gcolumn == null)
                            {
                                gcolumn              = new DataGridViewTextBoxColumn();
                                gcolumn.Width        = column.MaxLength > 100 ? column.MaxLength : 100;
                                gcolumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
                            }
                        }

                        gcolumn.Name             = column.ColumnName;
                        gcolumn.HeaderText       = column.Caption;
                        gcolumn.DataPropertyName = column.ColumnName;

                        //gcolumn.Width = column.MaxLength;
                        //gcolumn.Width = column.MaxLength > 100 ? column.MaxLength : 100;

                        //gcolumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;

                        grid.Columns.Add(gcolumn);
                    }
                }

                grid.AutoGenerateColumns = false;
                grid.DataSource          = GetBindingSource(table);
            }
            else
            {
                DataColumn column;
                string     mapInfo;
                foreach (DataGridViewColumn gcolumn in grid.Columns)
                {
                    column = table.Columns[gcolumn.DataPropertyName];
                    if (column != null)
                    {
                        mapInfo = TableUtil.StrProperty(column, "MapInfo");
                        if (!mapInfo.Equals(""))
                        {
                            DataMap dm = SystemContext.MapManager.FromMapInfo(mapInfo);
                            if (dm != null)
                            {
                                DataTable mtable = dm.GetMapTable(null);
                                if (mtable != null && mtable.Rows.Count > 0)
                                {
                                    DataGridViewComboBoxCell combboxcell = gcolumn.CellTemplate as DataGridViewComboBoxCell;
                                    if (combboxcell != null)
                                    {
                                        combboxcell.DataSource    = mtable;
                                        combboxcell.ValueMember   = "Key";
                                        combboxcell.DisplayMember = "Value";
                                    }
                                }
                            }
                        }
                    }
                }

                grid.AutoGenerateColumns = false;
                grid.DataSource          = GetBindingSource(table);
            }

            grid.CellLeave -= new DataGridViewCellEventHandler(DataGridView_CellLeave);
            grid.CellLeave += new DataGridViewCellEventHandler(DataGridView_CellLeave);
        }