A filter that comprises a TextBox and filters on a string type.
Наследование: ICustomFilter
Пример #1
0
        /// <summary>
        /// See <see cref="IFilterControl.AddStringFilterTextBox(string,string,FilterClauseOperator)"/>
        /// </summary>
        public ICustomFilter AddMultiplePropStringTextBox(string labelText, List <string> propertyNames, FilterClauseOperator filterClauseOperator)
        {
            MultiplePropStringTextBoxFilter filter = new MultiplePropStringTextBoxFilter(_controlFactory, propertyNames, filterClauseOperator);

            AddCustomFilter(labelText, filter);
            return(filter);
        }
        public void TestFilterClause_2Prop()
        {
            //---------------Set up test pack-------------------
            const FilterClauseOperator filterClauseOperator = FilterClauseOperator.OpGreaterThan;
            List<string> props = new List<string> { "prop1","prop2" };
            MultiplePropStringTextBoxFilter filter = new MultiplePropStringTextBoxFilter(GetControlFactory(), props, filterClauseOperator);
            ITextBox textBox = (ITextBox) filter.Control;
            string text = TestUtil.GetRandomString();
            textBox.Text = text;

            //---------------Execute Test ----------------------

            IFilterClause filterClause = filter.GetFilterClause(new DataViewFilterClauseFactory());
            //---------------Test Result -----------------------

            Assert.AreEqual(string.Format("({0} > '{2}') or ({1} > '{2}')", props[0],props[1], text), filterClause.GetFilterClauseString());
            //---------------Tear Down -------------------------          
        }
 public void TestConstructor()
 {
     //---------------Set up test pack-------------------
     string propertyName = "";
     const FilterClauseOperator filterClauseOperator = FilterClauseOperator.OpGreaterThan;
     List<string> props = new List<string>{"prop1","prop2","prop3"};
     string name = propertyName;
    
     //---------------Execute Test ----------------------
     MultiplePropStringTextBoxFilter filter = new MultiplePropStringTextBoxFilter(GetControlFactory(), props, filterClauseOperator);
     props.ForEach(s => name = s + "/" + name);
     propertyName = name.Remove(name.Length - 1);
     //---------------Test Result -----------------------
     Assert.IsInstanceOf(typeof(ITextBox), filter.Control);
     Assert.AreEqual(propertyName, filter.PropertyName);
     Assert.AreEqual(filterClauseOperator, filter.FilterClauseOperator);
     Assert.IsInstanceOf(typeof(DataViewNullFilterClause), filter.GetFilterClause(new DataViewFilterClauseFactory()));
 }
 /// <summary>
 /// See <see cref="IFilterControl.AddStringFilterTextBox(string,string,FilterClauseOperator)"/>
 /// </summary>
 public ICustomFilter AddMultiplePropStringTextBox(string labelText, List<string> propertyNames, FilterClauseOperator filterClauseOperator)
 {
     MultiplePropStringTextBoxFilter filter = new MultiplePropStringTextBoxFilter(_controlFactory, propertyNames, filterClauseOperator);
     AddCustomFilter(labelText,  filter);
     return filter;
 }