private void bAdd_Click(object sender, EventArgs e) { AdvFilterBar bar = new AdvFilterBar { Name = "bf" + _filterCount++, DataSource = _dataSource, Parent = this.flowLayoutPanel1, }; }
private void AdvFilterForm_Load(object sender, EventArgs e) { #region 加载保存的过滤 #if !DEBUG try { #endif FilterProfile[] profile = LocalUserProfile.GetProfile <FilterProfile[]>(ClientInfo.CurrentUser.UserName, _listForm.GetType().FullName + "_AdvFilter"); if (profile != null) { flowLayoutPanel1.Controls.Clear(); foreach (FilterProfile p in profile) { AdvFilterBar bar = new AdvFilterBar { Name = "bf" + _filterCount++, DataSource = _dataSource, }; bar.Load += (object s, EventArgs ea) => { AdvFilterBar b = (AdvFilterBar)s; b.cmbField.SelectedValue = p.SelectedField; b.cNot.Checked = p.NotChecked; b.cmbOperator.SelectedValue = p.SelectedOperator; if (b.ValueEditor is DateTimePicker dtp) { dtp.Value = Convert.ToDateTime(p.ValueObject); } else if (b.ValueEditor is RadioButton r) { if (Convert.ToBoolean(p.ValueObject)) { r.Checked = true; } else { ((RadioButton)b.Controls[r.Name + 1]).Checked = true; } } else if (b.ValueEditor is NumericUpDown n) { n.Value = Convert.ToDecimal(p.ValueObject); } else if (b.ValueEditor is TextBox t) { t.Text = p.ValueObject.ToString(); } }; this.flowLayoutPanel1.Controls.Add(bar); } } #if !DEBUG } catch { } #endif #endregion }