internal override object GetValue(GridViewRowInfo row, GridViewDataOperation operation) { object obj = base.GetValue(row, operation); if (operation == GridViewDataOperation.Filtering && !Convert.IsDBNull(obj) && obj != null) { if (this.DataTypeConverter != null && this.DataTypeConverter.CanConvertTo((ITypeDescriptorContext)this, typeof(DateTime))) { obj = this.DataTypeConverter.ConvertTo((ITypeDescriptorContext)this, this.FormatInfo, obj, typeof(DateTime)); } obj = (object)GridViewHelper.ClampDateTime(Convert.ToDateTime(obj), this.filteringMode); } return(obj); }
protected virtual object FormatDescriptorValue(FilterDescriptor descriptor) { if (descriptor == null) { return((object)null); } object obj = descriptor.Value; GridViewDateTimeColumn column = this.owner.Columns[descriptor.PropertyName] as GridViewDateTimeColumn; if (column != null && obj != null) { obj = (object)GridViewHelper.ClampDateTime(Convert.ToDateTime(obj), column.FilteringMode); } return(obj); }
internal override object this[GridViewColumn column] { get { FilterDescriptor filterDescriptor = this.GetFilterDescriptor(column as GridViewDataColumn); if (filterDescriptor != null && filterDescriptor.Operator != FilterOperator.None && (filterDescriptor.Operator != FilterOperator.IsNull && filterDescriptor.Operator != FilterOperator.IsNotNull)) { return(filterDescriptor.Value); } return((object)null); } set { bool isDetached = false; GridViewDataColumn dataColumn = column as GridViewDataColumn; FilterDescriptor filterDescriptor = this.GetFilterDescriptor(dataColumn, out isDetached); if (filterDescriptor == null) { return; } FilterOperator filterOperator = filterDescriptor.Operator; bool flag = !isDetached && (value == null || object.Equals(value, (object)string.Empty) || object.Equals(value, (object)char.MinValue)); this.SuspendUpdate(); if (flag) { if (!dataColumn.SetFilterDescriptor((FilterDescriptor)null)) { this.ResumeUpdate(); return; } filterDescriptor = this.GetFilterDescriptor(dataColumn); } filterDescriptor.Operator = filterOperator; GridViewDateTimeColumn viewDateTimeColumn = dataColumn as GridViewDateTimeColumn; if (viewDateTimeColumn != null && value is DateTime) { value = (object)GridViewHelper.ClampDateTime(Convert.ToDateTime(value), viewDateTimeColumn.FilteringMode); } filterDescriptor.Value = value; if (isDetached && value != null) { this.SetFilterDesriptor(dataColumn, filterDescriptor); } this.ResumeUpdate(); } }