private void IMasterDetailForm_SetupData()
        {
            foreach (JkDetailDataSet DataSet in IAppHandler.FindControlByType("JkDetailDataSet", this))
            {
                if (!String.IsNullOrWhiteSpace(DataSet.CommandText) && DataSet.LinkToMaster)
                {
                    DataSet.Parameters.Find(dp => dp.Name == "Id").Value = Parameters.Find(p => p.Name == "Id").Value;
                    if (!String.IsNullOrWhiteSpace(DataSet.CommandText))
                    {
                        DataSet.DataTable = VTransactionHandler.LoadData(DataSet.CommandText, DataSet.Parameters);
                        DataSet.AddTemporaryColumns();
                        DataSet.GridView.DataSource = DataSet.DataTable;
                    }

                    //For further update on this code, I'm still not sure if this will fit on all scenarios
                    foreach (DataColumn column in DataSet.DataTable.Columns)
                    {
                        if (!column.AllowDBNull && column.DataType.ToString() == "System.Int32" && !column.AutoIncrement)
                        {
                            if (FormState == FormStates.fsNew)
                            {
                                column.DefaultValue = -1;
                            }
                            else
                            {
                                column.DefaultValue = Parameters.Find(p => p.Name == "Id").Value;
                            }
                        }
                    }
                }

                //load data from lookup to grid
                foreach (DataGridViewColumn column in DataSet.GridView.Columns)
                {
                    if (column.GetType().ToString().Contains("DataGridViewComboBoxColumn"))
                    {
                        DataGridViewComboBoxColumn comboBox = column as DataGridViewComboBoxColumn;
                        JkLookUpComboBox           lookUp   = (Controls.Find(DataSet.Columns.Find(dc => dc.Name == column.DataPropertyName).ControlName, true).First() as JkLookUpComboBox);

                        if (lookUp.Items.Count == 0)
                        {
                            lookUp.LoadData();
                        }

                        comboBox.DataSource    = lookUp.DataSource;
                        comboBox.DisplayMember = lookUp.DisplayText;
                        comboBox.ValueMember   = lookUp.Key;
                    }
                }
            }
        }
Esempio n. 2
0
        private void CreateReportParameters()
        {
            if (toolStripReportParam.Items.Count == 0)
            {
                if (Parameters.Find(p => p.Name == "FromDate") != null && Parameters.Find(p => p.Name == "ToDate") != null)
                {
                    ToolStripLabel labelFrom             = new ToolStripLabel();
                    ToolStripLabel labelTo               = new ToolStripLabel();
                    DateTimePicker dateTimePickerFrom    = new DateTimePicker();
                    DateTimePicker dateTimePickerTo      = new DateTimePicker();
                    Button         btnDateRangeSelection = new Button();
                    String         FromDateDefault       = Parameters.Find(p => p.Name == "FromDate").Value;
                    String         ToDateDefault         = Parameters.Find(p => p.Name == "ToDate").Value;

                    if (!String.IsNullOrWhiteSpace(FromDateDefault))
                    {
                        dateTimePickerFrom.Value = IDateHandler.Parse(IAppHandler.ConvertMaskValue(FromDateDefault).ToString());
                    }

                    if (!String.IsNullOrWhiteSpace(ToDateDefault))
                    {
                        dateTimePickerTo.Value = IDateHandler.Parse(IAppHandler.ConvertMaskValue(ToDateDefault).ToString());
                    }

                    labelFrom.Name = "ControlLabelFromDate";
                    labelFrom.Text = "From:";

                    dateTimePickerFrom.Name         = "ControlFromDate";
                    dateTimePickerFrom.Format       = DateTimePickerFormat.Custom;
                    dateTimePickerFrom.CustomFormat = "MM/dd/yyyy";
                    dateTimePickerFrom.Width        = 100;

                    labelTo.Name = "ControlLabelToDate";
                    labelTo.Text = "To:";

                    dateTimePickerTo.Name         = "ControlToDate";
                    dateTimePickerTo.Format       = DateTimePickerFormat.Custom;
                    dateTimePickerTo.CustomFormat = "MM/dd/yyyy";
                    dateTimePickerTo.Width        = 100;

                    btnDateRangeSelection.Name      = "ControlDateRangeSelection";
                    btnDateRangeSelection.Text      = "...";
                    btnDateRangeSelection.Width     = 30;
                    btnDateRangeSelection.BackColor = Color.Gainsboro;
                    btnDateRangeSelection.Click    += btnDateRangeSelection_Click;

                    toolStripReportParam.Items.Add(labelFrom);
                    toolStripReportParam.Items.Add(new ToolStripControlHost(dateTimePickerFrom));
                    toolStripReportParam.Items.Add(labelTo);
                    toolStripReportParam.Items.Add(new ToolStripControlHost(dateTimePickerTo));
                    toolStripReportParam.Items.Add(new ToolStripControlHost(btnDateRangeSelection));
                }

                foreach (JkFormParameter param in this.Parameters)
                {
                    if (param.Visible)
                    {
                        if (toolStripReportParam.Items.Count > 0)
                        {
                            ToolStripSeparator separator = new ToolStripSeparator();

                            separator.Name = "Separator" + param.Name;
                            toolStripReportParam.Items.Add(separator);
                        }

                        //not lookup
                        if (String.IsNullOrWhiteSpace(param.ControlName))
                        {
                            if (param.Name != "FromDate" && param.Name != "ToDate")
                            {
                                if (param.Type == SqlDbType.DateTime)
                                {
                                    ToolStripLabel label          = new ToolStripLabel();
                                    DateTimePicker dateTimePicker = new DateTimePicker();

                                    label.Name = "ControlLabel" + param.Name;
                                    label.Text = param.Caption + ":";

                                    dateTimePicker.Name         = "Control" + param.Name;
                                    dateTimePicker.Format       = DateTimePickerFormat.Custom;
                                    dateTimePicker.CustomFormat = "MM/dd/yyyy";
                                    dateTimePicker.Width        = 100;

                                    toolStripReportParam.Items.Add(label);
                                    toolStripReportParam.Items.Add(new ToolStripControlHost(dateTimePicker));
                                }
                                else if (param.Type == SqlDbType.Bit)
                                {
                                    ToolStripLabel label    = new ToolStripLabel();
                                    CheckBox       checkBox = new CheckBox();

                                    label.Name = "ControlLabel" + param.Name;
                                    label.Text = param.Caption + ":";

                                    checkBox.Name    = "Control" + param.Name;
                                    checkBox.Checked = Boolean.Parse(param.Value);

                                    toolStripReportParam.Items.Add(label);
                                    toolStripReportParam.Items.Add(new ToolStripControlHost(checkBox));
                                }
                            }
                        }
                        else
                        {
                            JkLookUpComboBox lookUp   = (Controls.Find(param.ControlName, true).First() as JkLookUpComboBox);
                            ToolStripLabel   label    = new ToolStripLabel();
                            ComboBox         comboBox = new ComboBox();

                            if (lookUp.Items.Count == 0)
                            {
                                lookUp.LoadData();
                            }

                            label.Name = "ControlLabel" + param.Name;
                            label.Text = param.Caption + ":";

                            comboBox.Name          = "Control" + param.Name;
                            comboBox.DataSource    = lookUp.Items;
                            comboBox.DisplayMember = lookUp.DisplayText;
                            comboBox.ValueMember   = lookUp.Key;
                            comboBox.Width         = param.Width;

                            toolStripReportParam.Items.Add(label);
                            toolStripReportParam.Items.Add(new ToolStripControlHost(comboBox));
                        }
                    }
                }

                if (toolStripReportParam.Items.Count > 0)
                {
                    ToolStripButton    button       = new ToolStripButton();
                    ToolStripSeparator btnSeparator = new ToolStripSeparator();

                    btnSeparator.Name = "SeparatorButtonGo";

                    button.Name         = "ControlButtonGo";
                    button.DisplayStyle = ToolStripItemDisplayStyle.Text;
                    button.Text         = "  GO  ";
                    button.BackColor    = Color.SteelBlue;
                    button.Click       += delegate(object s, EventArgs ea)
                    {
                        GenerateReport();
                    };

                    toolStripReportParam.Items.Add(btnSeparator);
                    toolStripReportParam.Items.Add(button);
                }
            }
        }