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; } } } }
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); } } }