/// <summary> /// SetParametersAsync 方法 /// </summary> /// <returns></returns> public override System.Threading.Tasks.Task SetParametersAsync(ParameterView parameters) { parameters.SetParameterProperties(this); QueryModel.Category = ""; QueryModel.IsResource = -1; QueryApp.AddRange(DictHelper.RetrieveApps().Select(app => new SelectedItem() { Text = app.Value, Value = app.Key })); DefineApp.AddRange(DictHelper.RetrieveApps().Select(app => new SelectedItem() { Text = app.Value, Value = app.Key })); return(base.SetParametersAsync(ParameterView.Empty)); }
public QueryController(IFactoryConnection connection) { _connection = connection; _QueryApp = new QueryApp(connection); }
private void InicializarComponetesPesquisa(int queryId) { var query = new QueryApp().FindId(queryId); if (query == null) { return; } Query = query.Sql; var filters = query.Filters; panel1.Controls.Clear(); var localionY = 10; foreach (var item in filters) { var typeItem = item.TypeComponent; var display = GlobalUser.Translates.FirstOrDefault(c => c.PropertyName == item.Display)?.Portugues ?? item.Display; IComponent componete; switch (typeItem) { case TypeFilterComponent.ComboBox: var cb = new SComboBox(); cb.SetEnumItems(Type.GetType(item.NameColumn)); componete = cb; break; case TypeFilterComponent.Numeric: componete = new SNumeric(); break; case TypeFilterComponent.TextBox: componete = new STextBox(); break; case TypeFilterComponent.Date: componete = new SDateTimePicker { Format = DateTimePickerFormat.Custom, CustomFormat = "dd/MM/yyyy" }; break; case TypeFilterComponent.Time: componete = new SDateTimePicker { Format = DateTimePickerFormat.Custom, CustomFormat = "hh:mm:ss" }; break; case TypeFilterComponent.DateTime: componete = new SDateTimePicker { Format = DateTimePickerFormat.Custom, CustomFormat = "dd/MM/yyyy hh:mm:ss" }; break; case TypeFilterComponent.CheckBox: componete = new SCheckBox(); break; default: continue; } componete.Caption = display; componete.Location = new Point(10, localionY); //componete. = item.NameTable; componete.Name = item.NameColumn; componete.ToolTipContext = item.Code; componete.Others = item.NameTable; componete.Visible = true; componete.Width = 200; componete.Height = 52; var comboBox = new SComboBox() { Caption = "Selecione o Filtro", Location = new Point(200 + 20, localionY), Name = "F" + item.NameColumn, SComponent = { Name = "F" + item.NameColumn }, Visible = true, Width = 200, Height = 52 }; comboBox.SetEnumItems <TypeFilter>(item.DefaultTypeFilter); var removeFilters = comboBox.SComponent.DataSource as IList <SEnum <TypeFilter> >; var newFilters = new List <SEnum <TypeFilter> >(); foreach (var filter in removeFilters) { if (!item.InactiveFilters.Any(c => c.TypeFilter == filter.Id)) { newFilters.Add(filter); } } comboBox.SComponent.DataSource = newFilters; comboBox.SComponent.SelectedValue = item.DefaultTypeFilter; comboBox.SComponent.Tag = item.TypeComponent; comboBox.SComponent.SelectedIndexChanged += SComponentOnSelectedIndexChanged; Control[] controls = { (Control)componete, comboBox }; panel1.Controls.AddRange(controls); localionY = localionY + 55; if (typeItem != TypeFilterComponent.CheckBox) { continue; } ((SCheckBox)componete).SComponent.Parent.Dock = DockStyle.Bottom; ((SCheckBox)componete).SComponent.Parent.AutoSize = false; ((SCheckBox)componete).SComponent.Parent.Height = 30; } }