Example #1
0
        private void buttonAdd_Click(object sender, EventArgs e)
        {
            if (innerAnyQuery.AllowAddQueryField)
            {
                InfoDataSet ids = null;
                if (innerAnyQuery.BindingSource != null)
                {
                    ids = innerAnyQuery.BindingSource.DataSource as InfoDataSet;
                    if (innerAnyQuery.MaxColumnCount == -1 || Count < innerAnyQuery.MaxColumnCount)
                    {
                        if (innerAnyQuery.QueryColumnMode == AnyQueryColumnMode.ByBindingSource)
                        {
                            if (Count >= ids.RealDataSet.Tables[0].Columns.Count)
                                return;
                        }
                        else if (innerAnyQuery.QueryColumnMode == AnyQueryColumnMode.ByColumns)
                        {
                            if (Count >= innerAnyQuery.Columns.Count)
                                return;
                        }

                        Count++;
                        AnyQueryColumns aqcTemp = new AnyQueryColumns();
                        foreach (AnyQueryColumns aqc in innerAnyQuery.Columns)
                        {
                            aqcTemp = aqc;
                            break;
                        }
                        CreateColumns(ids, aqcTemp, Count, false);
                    }
                }
            }
        }
Example #2
0
        void cbColumn_SelectedIndexChanged(object sender, EventArgs e)
        {
            int count = 0;
            for (int i = 0; i < (sender as ComboBox).Name.Length; i++)
            {
                if (Char.IsDigit((sender as ComboBox).Name[i]))
                {
                    count = count * Convert.ToInt16(Math.Pow(10, i)) + Convert.ToInt16(Char.ToString((sender as ComboBox).Name[i]));
                }
            }

            if (count > 0)
            {
                bool flag = false;
                AnyQueryColumns aqcTemp = new AnyQueryColumns();
                InfoDataSet ids = null;
                if (innerAnyQuery.BindingSource != null)
                {
                    ids = innerAnyQuery.BindingSource.DataSource as InfoDataSet;
                    foreach (AnyQueryColumns aqc in innerAnyQuery.Columns)
                    {
                        if (aqc.Caption == (sender as ComboBox).Text)
                        {
                            aqcTemp = aqc;
                            flag = true;
                            break;
                        }
                    }
                }

                if (flag)
                {
                    ArrayList arr = new ArrayList();
                    foreach (Control c in this.panel2.Controls)
                    {
                        if (c.Name.StartsWith(count + "AnyQuery"))
                        {
                            arr.Add(c);
                        }
                    }
                    for (int i = 0; i < arr.Count; i++)
                        this.panel2.Controls.Remove(arr[i] as Control);

                    CreateColumns(ids, aqcTemp, count, true);
                }
                else
                {
                    ArrayList arr = new ArrayList();
                    foreach (Control c in this.panel2.Controls)
                    {
                        if (c.Name.StartsWith(count + "AnyQuery"))
                        {
                            arr.Add(c);
                        }
                    }
                    for (int i = 0; i < arr.Count; i++)
                        this.panel2.Controls.Remove(arr[i] as Control);

                    aqcTemp.Caption = (sender as ComboBox).Text;
                    aqcTemp.Column = CaptionToColumn(aqcTemp.Caption, innerAnyQuery.BindingSource);
                    Type aqcType = GetDataType(aqcTemp.Column);
                    if (aqcType == typeof(DateTime))
                        aqcTemp.ColumnType = "AnyQueryCalendarColumn";
                    else
                        aqcTemp.ColumnType = "AnyQueryTextBoxColumn";
                    CreateColumns(ids, aqcTemp, count, true);
                }
            }
        }
Example #3
0
        private void CreateColumns(InfoDataSet ids, AnyQueryColumns aqc, int columnsCount, bool isActive)
        {
            String value = aqc.DefaultValue;
            if (aqc.DefaultValue.StartsWith("_"))
            {
                object[] realValue = CliUtils.GetValue(aqc.DefaultValue);
                if (realValue[0].ToString() == "0")
                    value = realValue[1].ToString();
            }

            int columnWidth = aqc.ColumnWidth;
            int ColumnsCount = columnsCount;
            if (120 + ColumnsCount * 30 > this.Height) this.Height += 30;

            int standard = 40;
            CheckBox cbActive = new CheckBox();
            cbActive.Name = ColumnsCount + "AnyQueryActiveCheckBox";
            cbActive.Width = 15;
            cbActive.Location = new Point(standard, 13 + ColumnsCount * 30);
            cbActive.Checked = isActive;
            cbActive.CheckedChanged += new EventHandler(cbActive_CheckedChanged);
            this.panel2.Controls.Add(cbActive);

            //standard += 30;
            //Label labelCondition = new Label();
            //labelCondition.Name = ColumnsCount + "AnyQueryConditionLabel";
            //labelCondition.Width = 50;
            //labelCondition.Text = aqc.Condition.ToUpper();
            //labelCondition.Location = new Point(standard, 17 + ColumnsCount * 30);
            //labelCondition.Click += new EventHandler(labelCondition_Click);
            //this.panel2.Controls.Add(labelCondition);

            standard += 30;
            ComboBox cbColumn = new ComboBox();
            cbColumn.Name = ColumnsCount + "AnyQueryColumnComboBox";
            this.panel2.Controls.Add(cbColumn);
            DataView dvColumn = CreateDataViewColumn(ids);
            cbColumn.DataSource = dvColumn;
            cbColumn.DisplayMember = "CAPTION";
            cbColumn.ValueMember = "FIELDNAME";
            cbColumn.Width = columnWidth;
            //if (innerAnyQuery.QueryColumnMode == AnyQueryColumnMode.ByBindingSource)
            //    cbColumn.Text = GetHeaderText(aqc.Column);
            //else
            cbColumn.DropDownStyle = ComboBoxStyle.DropDownList;
            cbColumn.Location = new Point(standard, 15 + ColumnsCount * 30);
            cbColumn.Text = aqc.Caption;
            cbColumn.SelectedIndexChanged += new EventHandler(cbColumn_SelectedIndexChanged);

            standard += cbColumn.Width + 5;
            ComboBox cbOperator = new ComboBox();
            Type cbType = GetDataType(aqc.Column);
            List<String> op = new List<string>();
            op.AddRange(new String[] { "=", "!=", ">", "<", ">=", "<=", "%**", "**%", "%%", "!%%", "<->", "!<->", "IN", "NOT IN" });
            if (!innerAnyQuery.DisplayAllOperator)
            {
                if (cbType == typeof(Char) || cbType == typeof(String))
                {
                    op.Clear();
                    //op.AddRange(new String[] { "=", "!=", "%**", "**%", "%%", "!%%", "IN", "NOT IN" });
                    op.AddRange(new String[] { "=", "!=", "%**", "**%", "%%", "!%%" });
                }
                else if (cbType != null && (cbType == typeof(int) || cbType == typeof(float) || cbType == typeof(double) || cbType == typeof(DateTime) || cbType.FullName == "System.Decimal" || cbType == typeof(Int16) || cbType == typeof(Int64)))
                {
                    op.Clear();
                    //op.AddRange(new String[] { "=", "!=", "<", ">", "<=", ">=", "<->", "!<->", "IN", "NOT IN" });
                    op.AddRange(new String[] { "=", "!=", "<", ">", "<=", ">=", "<->", "!<->" });
                }
            }
            cbOperator.Items.AddRange(op.ToArray());
            cbOperator.DropDownStyle = ComboBoxStyle.DropDownList;
            cbOperator.Name = ColumnsCount + "AnyQueryOperatorComboBox";
            cbOperator.Width = 65;
            cbOperator.Location = new Point(standard, 15 + ColumnsCount * 30);
            SetOperatorHelp(cbOperator);
            cbOperator.SelectedIndexChanged += new EventHandler(cbOperator_SelectedIndexChanged);
            this.panel2.Controls.Add(cbOperator);

            standard += cbOperator.Width + 5;
            switch (aqc.ColumnType)
            {
                case "AnyQueryTextBoxColumn":
                    TextBox tbValue = new TextBox();
                    tbValue.Name = ColumnsCount + "AnyQueryValue1TextBox" + aqc.Enabled.ToString();
                    tbValue.Text = value;
                    tbValue.Width = aqc.Width;
                    tbValue.Location = new Point(standard, 15 + ColumnsCount * 30);
                    tbValue.Enabled = aqc.Enabled;
                    tbValue.Enter += new EventHandler(tbValue_Enter);
                    tbValue.KeyPress += new KeyPressEventHandler(tbValue_KeyPress);
                    this.panel2.Controls.Add(tbValue);
                    break;
                case "AnyQueryComboBoxColumn":
                    cbOperator.Items.Clear();
                    op.Clear();
                    op.AddRange(new String[] { "=", "!=" });
                    cbOperator.Items.AddRange(op.ToArray());

                    InfoComboBox icbValue = new InfoComboBox();
                    if (aqc.InfoRefVal != null)
                    {
                        icbValue.DisplayMemberOnly = true;
                        if (aqc.InfoRefVal.SelectAlias != null && aqc.InfoRefVal.SelectAlias != String.Empty && aqc.InfoRefVal.SelectCommand != null && aqc.InfoRefVal.SelectCommand != String.Empty)
                        {
                            icbValue.SelectAlias = aqc.InfoRefVal.SelectAlias;
                            icbValue.SelectCommand = aqc.InfoRefVal.SelectCommand;
                        }
                        else
                        {
                            icbValue.DataSource = aqc.InfoRefVal.DataSource;
                        }
                        icbValue.DisplayMember = aqc.InfoRefVal.DisplayMember;
                        icbValue.ValueMember = aqc.InfoRefVal.ValueMember;
                        icbValue.EndInit();
                    }
                    else
                    {
                        icbValue.DisplayMemberOnly = false;
                        icbValue.Items.AddRange(aqc.Items);
                    }

                    icbValue.Name = ColumnsCount + "AnyQueryValue1InfoComboBox" + aqc.Enabled.ToString();
                    icbValue.Text = value;
                    icbValue.Width = aqc.Width;
                    icbValue.Location = new Point(standard, 15 + ColumnsCount * 30);
                    icbValue.Enabled = aqc.Enabled;
                    icbValue.Enter += new EventHandler(tbValue_Enter);
                    this.panel2.Controls.Add(icbValue);
                    break;
                case "AnyQueryCheckBoxColumn":
                    cbOperator.Items.Clear();
                    op.Clear();
                    op.AddRange(new String[] { "=", "!=" });
                    cbOperator.Items.AddRange(op.ToArray());

                    CheckBox cbValue = new CheckBox();
                    cbValue.Name = ColumnsCount + "AnyQueryValue1CheckBox" + aqc.Enabled.ToString();
                    if (aqc.DefaultValue == "1")
                        cbValue.Checked = true;
                    cbValue.Width = aqc.Width;
                    cbValue.Location = new Point(standard, 15 + ColumnsCount * 30);
                    cbValue.Enabled = aqc.Enabled;
                    cbValue.Enter += new EventHandler(tbValue_Enter);
                    this.panel2.Controls.Add(cbValue);
                    break;
                case "AnyQueryRefValColumn":
                    cbOperator.Items.Clear();
                    op.Clear();
                    op.AddRange(new String[] { "=", "!=", "IN", "NOT IN" });
                    cbOperator.Items.AddRange(op.ToArray());

                    if (aqc.Operator == "IN" || aqc.Operator == "NOT IN")
                    {
                        InfoTranslate it = new InfoTranslate();
                        if (aqc.InfoRefVal.SelectAlias != null && aqc.InfoRefVal.SelectCommand != null && aqc.InfoRefVal.SelectAlias != String.Empty && aqc.InfoRefVal.SelectCommand != String.Empty)
                        {
                            InfoDataSet idsRefButton = new InfoDataSet();
                            idsRefButton.RemoteName = "GLModule.cmdRefValUse";
                            idsRefButton.Execute(aqc.InfoRefVal.SelectCommand, CliUtils.fLoginDB, true);
                            InfoBindingSource ibsRefButton = new InfoBindingSource();
                            ibsRefButton.DataSource = idsRefButton;
                            ibsRefButton.DataMember = "cmdRefValUse";
                            it.BindingSource = ibsRefButton;
                        }
                        else
                        {
                            it.BindingSource = aqc.InfoRefVal.DataSource as InfoBindingSource;
                        }
                        TranslateRefReturnFields trrf = new TranslateRefReturnFields();
                        trrf.ColumnName = aqc.InfoRefVal.ValueMember;
                        trrf.DisplayColumnName = aqc.InfoRefVal.DisplayMember;
                        it.RefReturnFields.Add(trrf);

                        InfoRefbuttonBox aInfoRefbuttonBox = new InfoRefbuttonBox();
                        aInfoRefbuttonBox.Name = ColumnsCount + "AnyQueryValue1RefTextBox" + aqc.Enabled.ToString();
                        aInfoRefbuttonBox.Text = value;
                        aInfoRefbuttonBox.Location = new Point(standard, 15 + ColumnsCount * 30);
                        aInfoRefbuttonBox.Width = aqc.Width;
                        aInfoRefbuttonBox.Enabled = aqc.Enabled;
                        aInfoRefbuttonBox.Enter += new EventHandler(tbValue_Enter);
                        this.panel2.Controls.Add(aInfoRefbuttonBox);

                        //TextBox tbRefButton = new TextBox();
                        //tbRefButton.Name = ColumnsCount + "AnyQueryValue1RefTextBox" + aqc.Enabled.ToString();
                        //tbRefButton.Text = aqc.DefaultValue;
                        //tbRefButton.Width = aqc.Width;
                        //tbRefButton.Location = new Point(standard, 15 + ColumnsCount * 30);
                        //tbRefButton.Enabled = aqc.Enabled;
                        //tbRefButton.Enter += new EventHandler(tbValue_Enter);
                        //this.panel2.Controls.Add(tbRefButton);

                        InfoRefButton ifb = new InfoRefButton();
                        ifb.autoPanel = true;
                        ifb.infoTranslate = it;
                        RefButtonMatch rbm = new RefButtonMatch();
                        rbm.matchColumnName = aInfoRefbuttonBox.Name;
                        ifb.refButtonMatchs.Add(rbm);
                        ifb.Name = ColumnsCount + "AnyQueryValue1InfoRefButton" + aqc.Enabled.ToString();
                        ifb.Text = "...";
                        ifb.Width = 20;
                        ifb.Location = new Point(aInfoRefbuttonBox.Location.X + aInfoRefbuttonBox.Width + 2, 15 + ColumnsCount * 30);
                        //ifb.Enabled = aqc.Enabled;
                        this.panel2.Controls.Add(ifb);
                    }
                    else
                    {
                        cbOperator.Items.Remove("IN");
                        cbOperator.Items.Remove("NOT IN");

                        InfoRefvalBox irbValue = new InfoRefvalBox();
                        irbValue.Name = ColumnsCount + "AnyQueryValue1InfoRefvalBox" + aqc.Enabled.ToString();
                        irbValue.RefVal = aqc.InfoRefVal;
                        irbValue.TextBoxText = value;
                        irbValue.Width = aqc.Width;
                        irbValue.Location = new Point(standard, 15 + ColumnsCount * 30);
                        irbValue.TextBoxEnabled = aqc.Enabled;
                        irbValue.Enter += new EventHandler(tbValue_Enter);
                        this.panel2.Controls.Add(irbValue);
                    }
                    break;
                case "AnyQueryCalendarColumn":
                    InfoDateTimePicker idtpValue = new InfoDateTimePicker();
                    idtpValue.BeginInit();
                    idtpValue.Name = ColumnsCount + "AnyQueryValue1InfoDateTimePicker" + aqc.Enabled.ToString();
                    idtpValue.Text = value;
                    idtpValue.Width = aqc.Width;
                    idtpValue.Location = new Point(standard, 15 + ColumnsCount * 30);
                    idtpValue.Enabled = aqc.Enabled;
                    idtpValue.Format = DateTimePickerFormat.Long;
                    idtpValue.EndInit();
                    idtpValue.Enter += new EventHandler(tbValue_Enter);
                    this.panel2.Controls.Add(idtpValue);
                    break;
                case "AnyQueryRefButtonColumn":
                    cbOperator.Items.Clear();
                    op.Clear();
                    op.AddRange(new String[] { "IN", "NOT IN" });
                    cbOperator.Items.AddRange(op.ToArray());

                    InfoTranslate itRefButton = new InfoTranslate();
                    if (aqc.InfoRefVal.SelectAlias != null && aqc.InfoRefVal.SelectCommand != null && aqc.InfoRefVal.SelectAlias != String.Empty && aqc.InfoRefVal.SelectCommand != String.Empty)
                    {
                        InfoDataSet idsRefButton = new InfoDataSet();
                        idsRefButton.RemoteName = "GLModule.cmdRefValUse";
                        idsRefButton.Execute(aqc.InfoRefVal.SelectCommand, CliUtils.fLoginDB, true);
                        InfoBindingSource ibsRefButton = new InfoBindingSource();
                        ibsRefButton.DataSource = idsRefButton;
                        ibsRefButton.DataMember = "cmdRefValUse";
                        itRefButton.BindingSource = ibsRefButton;
                    }
                    else
                    {
                        itRefButton.BindingSource = aqc.InfoRefVal.DataSource as InfoBindingSource;
                    }
                    TranslateRefReturnFields trrf2 = new TranslateRefReturnFields();
                    trrf2.ColumnName = aqc.InfoRefVal.ValueMember;
                    trrf2.DisplayColumnName = aqc.InfoRefVal.DisplayMember;
                    itRefButton.RefReturnFields.Add(trrf2);

                    InfoRefbuttonBox aInfoRefbuttonBox2 = new InfoRefbuttonBox();
                    aInfoRefbuttonBox2.Name = ColumnsCount + "AnyQueryValue1RefTextBox" + aqc.Enabled.ToString();
                    aInfoRefbuttonBox2.Text = value;
                    aInfoRefbuttonBox2.Location = new Point(standard, 15 + ColumnsCount * 30);
                    aInfoRefbuttonBox2.Width = aqc.Width;
                    aInfoRefbuttonBox2.Enabled = aqc.Enabled;
                    aInfoRefbuttonBox2.Enter += new EventHandler(tbValue_Enter);
                    this.panel2.Controls.Add(aInfoRefbuttonBox2);

                    //TextBox tbRefButton2 = new TextBox();
                    //tbRefButton2.Name = ColumnsCount + "AnyQueryValue1RefTextBox" + aqc.Enabled.ToString();
                    //tbRefButton2.Text = aqc.DefaultValue;
                    //tbRefButton2.Width = aqc.Width;
                    //tbRefButton2.Location = new Point(standard, 15 + ColumnsCount * 30);
                    //tbRefButton2.Enabled = aqc.Enabled;
                    //tbRefButton2.Enter += new EventHandler(tbValue_Enter);
                    //this.panel2.Controls.Add(tbRefButton2);

                    InfoRefButton ifb2 = new InfoRefButton();
                    if (aqc.InfoRefButtonAutoPanel)
                        ifb2.autoPanel = true;
                    else
                    {
                        ifb2.autoPanel = false;
                        ifb2.panel = aqc.InfoRefButtonPanel;
                    }
                    ifb2.infoTranslate = itRefButton;
                    RefButtonMatch rbm2 = new RefButtonMatch();
                    rbm2.matchColumnName = aInfoRefbuttonBox2.Name;//rbm2.matchColumnName = tbRefButton2.Name;
                    ifb2.refButtonMatchs.Add(rbm2);
                    ifb2.Name = ColumnsCount + "AnyQueryValue1InfoRefButton" + aqc.Enabled.ToString();
                    ifb2.Text = "...";
                    ifb2.Width = 20;
                    ifb2.Location = new Point(aInfoRefbuttonBox2.Location.X + aInfoRefbuttonBox2.Width + 2, 15 + ColumnsCount * 30);//ifb2.Location = new Point(tbRefButton2.Location.X + tbRefButton2.Width + 2, 15 + ColumnsCount * 30);
                    //ifb2.Enabled = aqc.Enabled;
                    this.panel2.Controls.Add(ifb2);
                    break;
            }
            if (aqc.Operator == "%")
                cbOperator.Text = "**%";
            else
                cbOperator.Text = aqc.Operator;

            //if (aqc.Operator == "<->" || aqc.Operator == "!<->")
            //{
            //    standard += aqc.Width + 5;

            //    Label aLabel = new Label();
            //    aLabel.Name = ColumnsCount + "AnyQueryValue1to2Label";
            //    aLabel.Text = "~";
            //    aLabel.Width = 10;
            //    aLabel.Location = new Point(standard, 15 + ColumnsCount * 30);
            //    this.panel2.Controls.Add(aLabel);

            //    standard += aLabel.Width + 5;
            //    switch (aqc.ColumnType)
            //    {
            //        case "AnyQueryTextBoxColumn":
            //            TextBox tbValue = new TextBox();
            //            tbValue.Name = ColumnsCount + "AnyQueryValue2TextBox" + aqc.Enabled.ToString();
            //            tbValue.Text = aqc.DefaultValue;
            //            tbValue.Width = aqc.Width;
            //            tbValue.Location = new Point(standard, 15 + ColumnsCount * 30);
            //            tbValue.Enabled = aqc.Enabled;
            //            tbValue.Enter += new EventHandler(tbValue_Enter);
            //            this.panel2.Controls.Add(tbValue);
            //            break;
            //        case "AnyQueryComboBoxColumn":
            //            InfoComboBox icbValue = new InfoComboBox();
            //            icbValue.DisplayMemberOnly = true;
            //            if (aqc.InfoRefVal != null)
            //            {
            //                if (icbValue.SelectAlias != null && icbValue.SelectAlias != String.Empty && icbValue.SelectCommand != null && icbValue.SelectCommand != String.Empty)
            //                {
            //                    icbValue.SelectAlias = aqc.InfoRefVal.SelectAlias;
            //                    icbValue.SelectCommand = aqc.InfoRefVal.SelectCommand;
            //                }
            //                else
            //                {
            //                    icbValue.DataSource = aqc.InfoRefVal.DataSource;
            //                }
            //                icbValue.DisplayMember = aqc.InfoRefVal.DisplayMember;
            //                icbValue.ValueMember = aqc.InfoRefVal.ValueMember;
            //                icbValue.EndInit();
            //            }
            //            else
            //            {
            //                icbValue.Items.AddRange(aqc.Items);
            //            }

            //            icbValue.Name = ColumnsCount + "AnyQueryValue2InfoComboBox2" + aqc.Enabled.ToString();
            //            icbValue.Text = aqc.DefaultValue;
            //            icbValue.Width = aqc.Width;
            //            icbValue.Location = new Point(standard, 15 + ColumnsCount * 30);
            //            icbValue.Enabled = aqc.Enabled;
            //            icbValue.Enter += new EventHandler(tbValue_Enter);
            //            this.panel2.Controls.Add(icbValue);
            //            break;
            //        case "AnyQueryCheckBoxColumn":
            //            break;
            //        case "AnyQueryRefValColumn":
            //            InfoRefvalBox irbValue = new InfoRefvalBox();
            //            irbValue.Name = ColumnsCount + "AnyQueryValue2InfoRefvalBox2" + aqc.Enabled.ToString();
            //            irbValue.RefVal = aqc.InfoRefVal;
            //            irbValue.TextBoxText = aqc.DefaultValue;
            //            irbValue.Width = aqc.Width;
            //            irbValue.Location = new Point(standard, 15 + ColumnsCount * 30);
            //            irbValue.TextBoxEnabled = aqc.Enabled;
            //            irbValue.Enter += new EventHandler(tbValue_Enter);
            //            this.panel2.Controls.Add(irbValue);
            //            break;
            //        case "AnyQueryCalendarColumn":
            //            InfoDateTimePicker idtpValue = new InfoDateTimePicker();
            //            idtpValue.BeginInit();
            //            idtpValue.Name = ColumnsCount + "AnyQueryValue2InfoDateTimePicker2" + aqc.Enabled.ToString();
            //            idtpValue.Text = aqc.DefaultValue;
            //            idtpValue.Width = aqc.Width;
            //            idtpValue.Location = new Point(standard, 15 + ColumnsCount * 30);
            //            idtpValue.Enabled = aqc.Enabled;
            //            idtpValue.Format = DateTimePickerFormat.Long;
            //            idtpValue.EndInit();
            //            idtpValue.Enter += new EventHandler(tbValue_Enter);
            //            this.panel2.Controls.Add(idtpValue);
            //            break;
            //        case "AnyQueryRefButtonColumn"://<->不会用到RefButton
            //            //InfoTranslate itRefButton = new InfoTranslate();
            //            //if (aqc.InfoRefVal.SelectAlias != null && aqc.InfoRefVal.SelectCommand != null && aqc.InfoRefVal.SelectAlias != String.Empty && aqc.InfoRefVal.SelectCommand != String.Empty)
            //            //{
            //            //    InfoDataSet idsRefButton = new InfoDataSet();
            //            //    idsRefButton.RemoteName = "GLModule.cmdRefValUse";
            //            //    idsRefButton.Execute(aqc.InfoRefVal.SelectCommand, aqc.InfoRefVal.SelectAlias, true);
            //            //    InfoBindingSource ibsRefButton = new InfoBindingSource();
            //            //    ibsRefButton.DataSource = idsRefButton;
            //            //    ibsRefButton.DataMember = "cmdRefValUse";
            //            //    itRefButton.BindingSource = ibsRefButton;
            //            //}
            //            //else
            //            //{
            //            //    itRefButton.BindingSource = aqc.InfoRefVal.DataSource as InfoBindingSource;
            //            //}
            //            //TranslateRefReturnFields trrf2 = new TranslateRefReturnFields();
            //            //trrf2.ColumnName = aqc.InfoRefVal.ValueMember;
            //            //itRefButton.RefReturnFields.Add(trrf2);

            //            //TextBox tbRefButton2 = new TextBox();
            //            //tbRefButton2.Name = ColumnsCount + "AnyQueryValue1RefTextBox" + aqc.Enabled.ToString();
            //            //tbRefButton2.Text = aqc.DefaultValue;
            //            //tbRefButton2.Width = aqc.Width;
            //            //tbRefButton2.Location = new Point(standard, 15 + ColumnsCount * 30);
            //            //tbRefButton2.Enabled = aqc.Enabled;
            //            //this.panel2.Controls.Add(tbRefButton2);

            //            //InfoRefButton ifb2 = new InfoRefButton();
            //            //if (aqc.InfoRefButtonAutoPanel)
            //            //    ifb2.autoPanel = true;
            //            //else
            //            //{
            //            //    ifb2.autoPanel = false;
            //            //    ifb2.panel = aqc.InfoRefButtonPanel;
            //            //}
            //            //ifb2.infoTranslate = itRefButton;
            //            //RefButtonMatch rbm2 = new RefButtonMatch();
            //            //rbm2.matchColumnName = tbRefButton2.Name;
            //            //ifb2.refButtonMatchs.Add(rbm2);
            //            //ifb2.Name = ColumnsCount + "AnyQueryValue1InfoRefButton" + aqc.Enabled.ToString();
            //            //ifb2.Text = "...";
            //            //ifb2.Width = 20;
            //            //ifb2.Location = new Point(tbRefButton2.Location.X + tbRefButton2.Width + 2, 15 + ColumnsCount * 30);
            //            //ifb2.Enabled = aqc.Enabled;
            //            //this.panel2.Controls.Add(ifb2);
            //            break;
            //    }
            //}

            if (innerAnyQuery.AutoDisableColumns)
            {
                cbActive_CheckedChanged(cbActive, new EventArgs());
            }
        }
Example #4
0
        private AnyQuery CopyAnyQueryFileds()
        {
            AnyQuery aAnyQuery = new AnyQuery();
            Control baseForm = this.Parent;
            while (baseForm != null)
            {
                if (baseForm is InfoForm)
                {
                    aAnyQuery.OwnerComp = baseForm as InfoForm;
                    break;
                }
                else
                {
                    baseForm = baseForm.Parent;
                }
            }
            aAnyQuery.ValueControlEnter += new EventHandler(aq_ValueControlEnter);
            InfoBindingSource ibs = null;
            if (this.ViewBindingSource != null && this.DetailBindingSource == null)
            {
                ibs = this.ViewBindingSource;
            }
            else if (this.BindingSource != null)
            {
                ibs = this.BindingSource;
            }
            if (ibs == null)
            {
                throw new Exception("Can't find InfoBindingSource");
            }

            aAnyQuery.BindingSource = ibs;
            foreach (QueryField qf in this.QueryFields)
            {
                AnyQueryColumns qc = new AnyQueryColumns(qf.Name, qf.FieldName, qf.Caption, 120);

                qc.DefaultValue = qf.DefaultValue;
                if (qf.Mode == "")
                {
                    qc.ColumnType = "AnyQueryTextBoxColumn";
                }
                else
                {
                    qc.ColumnType = "AnyQuery" + qf.Mode + "Column";
                }
                if (qf.Condition == "" && (ibs.GetDataSource() as InfoDataSet).RealDataSet.Tables[ibs.DataMember].Columns[qf.FieldName] != null)
                {
                    Type tp = (ibs.GetDataSource() as InfoDataSet).RealDataSet.Tables[ibs.DataMember].Columns[qf.FieldName].DataType;
                    if (tp == typeof(string))
                    {
                        qc.Operator = "%";
                    }
                    else
                    {
                        qc.Operator = "=";
                    }
                }
                else
                {
                    qc.Operator = qf.Condition;
                }
                qc.InfoRefVal = qf.RefVal;
                qc.InfoRefButtonAutoPanel = qf.RefButtonAutoPanel;
                qc.InfoRefButtonPanel = qf.RefButtonPanel;
                qc.Enabled = qf.Enabled;
                qc.AutoSelect = qf.AutoSelect;
                qc.Items = qf.Items;
                qc.DateConver = qf.DateConver;
                qc.Width = qf.Width;
                qc.ColumnWidth = qf.ColumnWidth;
                qc.IsNvarChar = qf.IsNvarChar;
                aAnyQuery.Columns.Add(qc);
            }
            if (this.AnyQueryID == String.Empty)
                aAnyQuery.PackageForm = (this.Parent as InfoForm).PackageName + "." + (this.Parent as InfoForm).FormName;
            aAnyQuery.AnyQueryID = this.AnyQueryID;
            aAnyQuery.AutoDisableColumns = this.AutoDisableColumns;
            aAnyQuery.MaxColumnCount = this.MaxColumnCount;
            aAnyQuery.QueryColumnMode = this.QueryColumnMode;
            aAnyQuery.DetailBindingSource = this.DetailBindingSource;
            aAnyQuery.MasterDetailField = this.MasterDetailField;
            aAnyQuery.DetailKeyField = this.DetailKeyField;
            aAnyQuery.KeepCondition = this.QueryKeepCondition;
            aAnyQuery.DisplayAllOperator = this.DisplayAllOperator;
            return aAnyQuery;
        }