//void mruEdit_Click(object sender, EventArgs e) //{ // MRUEdit mruEdit = sender as MRUEdit; // ProcSearchParam param = mruEdit.Tag as ProcSearchParam; // if(mruEdit.Properties.Items.Count == 0 ) // { // LoadListItems(mruEdit, param.Name.Substring(1)); // } //} public void searchForm_AddingMRUItem(object sender, DevExpress.XtraEditors.Controls.AddingMRUItemEventArgs e) { if (e == null) { return; } MRUEdit editor = sender as MRUEdit; if (editor != null) { ProcSearchParam param = editor.Tag as ProcSearchParam; ParameterList list = m_editorLists[editor.Name]; ParameterListItem item = list.Contains(param.Value.ToString()); if (item == null) { ParameterListItem newItem = Scout.Core.Data.CreateEntity <ParameterListItem>(m_session); newItem.Item = param.Value.ToString(); newItem.LastUsed = DateTime.Now; newItem.DateAdded = DateTime.Now; newItem.UserName = SCOUT.Core.Security.UserSecurity.CurrentUser.Login; newItem.ParameterList = list; } else { item.LastUsed = DateTime.Now; } Scout.Core.Data.Save(m_session); } }
private void paramResetMenu_Click(object sender, EventArgs e) { ToolStripMenuItem tsmi = (ToolStripMenuItem)sender; BaseEdit be = (BaseEdit)tsmi.Owner.Tag; ProcSearchParam p = (ProcSearchParam)be.Tag; object defValue = null; if (m_hints.ContainsKey(p.Name)) { defValue = m_hints[p.Name]; } be.EditValue = defValue; }
/// <summary> /// Creates a single parameter field for the user to enter /// search criteria into. /// </summary> /// <param name="param"></param> private void AddParam(ProcSearchParam param) { string name = param.Name.Substring(1); BaseEdit paramEditor = null; switch (param.Type.ToLower()) { case "bit": paramEditor = new CheckEdit(); break; case "smalldatetime": paramEditor = new DateEdit(); break; case "int": paramEditor = new SpinEdit(); ((SpinEdit)paramEditor).Properties.IsFloatValue = false; break; default: paramEditor = m_listController.NewMRUEdit(name); break; } paramEditor.Name = name + "Edit"; paramEditor.Tag = param; paramEditor.ContextMenuStrip = CreateContextMenu(paramEditor); paramEditor.KeyPress += paramEdit_KeyPress; paramEditor.EditValueChanged += paramEdit_ValueChanged; m_paramEditors[param.Name] = paramEditor; BaseLayoutItem bli = new LayoutControlItem(paramsLayout, paramEditor); // Try for a nicer looking label. name = SCOUT.Core.Data.Helpers.UnderscoreToCamel(name); name = SCOUT.Core.Data.Helpers.SplitCamelCaps(name); bli.Text = name; }
private string FlattenParams() { IDictionaryEnumerator i = (IDictionaryEnumerator)m_searchForm.StoredProcedure.Params.GetEnumerator(); StringBuilder sb = new StringBuilder(); while (i.MoveNext()) { ProcSearchParam param = (ProcSearchParam)i.Value; if (param.Value != null) { sb.AppendFormat("{0}:{1},", param.Name, param.Value); } } if (sb.Length == 0) { return(""); } return(sb.ToString(0, sb.Length - 1)); }
void paramEdit_ValueChanged(object sender, EventArgs e) { /* * Update parameter value when the user changes the value. * * Done this way because MS databinding is a bit weird. */ BaseEdit be = (BaseEdit)sender; ProcSearchParam p = (ProcSearchParam)be.Tag; if (be.EditValue != null) { string s = be.EditValue.ToString().Trim(); p.Value = (s == "") ? DBNull.Value : be.EditValue; } else { p.Value = DBNull.Value; } }
/// <summary> /// Sets the default parameter search values. /// </summary> private void SetDefaultParameterValues() { IDictionaryEnumerator i; // Because .NET is retarted! i = (IDictionaryEnumerator)m_proc.Params.GetEnumerator(); while (i.MoveNext()) { string name = (string)i.Key; BaseEdit be = m_paramEditors[name]; object defValue = null; if (m_hints.ContainsKey(name)) { defValue = m_hints[name]; } else { ProcSearchParam param = (ProcSearchParam)i.Value; switch (param.Type.ToLower()) { case "bit": defValue = 0; break; default: defValue = null; break; } } be.EditValue = defValue; } }