public virtual string GetCellFormattedValue(GridViewRowInfo row, GridViewColumn column)
        {
            GridViewDataColumn gridViewDataColumn = column as GridViewDataColumn;

            if (gridViewDataColumn == null || string.IsNullOrEmpty(gridViewDataColumn.FormatString) && !(gridViewDataColumn is GridViewComboBoxColumn))
            {
                Convert.ToString(row[column]);
            }
            GridViewComboBoxColumn viewComboBoxColumn1 = gridViewDataColumn as GridViewComboBoxColumn;
            object lookupValue = row[column];

            if (viewComboBoxColumn1 != null && viewComboBoxColumn1.HasLookupValue)
            {
                lookupValue = viewComboBoxColumn1.GetLookupValue(lookupValue);
            }
            GridDataConversionInfo dataConversionInfo  = new GridDataConversionInfo(column as IDataConversionInfoProvider);
            GridViewComboBoxColumn viewComboBoxColumn2 = column as GridViewComboBoxColumn;

            if (viewComboBoxColumn2 != null)
            {
                dataConversionInfo.DataType          = viewComboBoxColumn2.DisplayMemberDataType;
                dataConversionInfo.DataTypeConverter = TypeDescriptor.GetConverter(viewComboBoxColumn2.DisplayMemberDataType);
            }
            return(RadDataConverter.Instance.Format(lookupValue, typeof(string), (IDataConversionInfoProvider)dataConversionInfo) as string);
        }
        public override void SetContent()
        {
            object lookupValue = this.Value;
            GridViewComboBoxColumn columnInfo = (GridViewComboBoxColumn)this.ColumnInfo;

            if (columnInfo.HasLookupValue)
            {
                lookupValue = columnInfo.GetLookupValue(lookupValue);
            }
            this.SetContentCore(lookupValue);
        }
Example #3
0
        protected override object GetItemKey(GridViewRowInfo item, SortDescriptor descriptor)
        {
            object cellValue = base.GetItemKey(item, descriptor);
            GridViewComboBoxColumn column = item.ViewTemplate.Columns[descriptor.PropertyIndex] as GridViewComboBoxColumn;

            if (column != null && column.DisplayMemberSort)
            {
                cellValue = column.GetLookupValue(cellValue);
            }
            return(cellValue);
        }
        private object GetComboBoxColumnLookupValue(string name, object key)
        {
            GridViewComboBoxColumn column = this.ViewTemplate.Columns[name] as GridViewComboBoxColumn;

            if (column != null)
            {
                object obj = column.DisplayMemberSort ? key : column.GetLookupValue(key);
                if (obj != null)
                {
                    return(obj);
                }
            }
            return(key);
        }
Example #5
0
        protected override void SetContentCore(object value)
        {
            if (this.ComboBoxColumnInfo == null)
            {
                return;
            }
            GridViewComboBoxColumn comboBoxColumnInfo = this.ComboBoxColumnInfo;

            if (comboBoxColumnInfo.HasLookupValue && comboBoxColumnInfo.FilteringMode != GridViewFilteringMode.DisplayMember)
            {
                value = comboBoxColumnInfo.GetLookupValue(value);
            }
            base.SetContentCore(value);
        }
Example #6
0
        protected virtual CellPrintElement CreateDataCellPrintElement(
            GridViewCellInfo cellInfo)
        {
            CellPrintElement cellPrintElement;

            if (cellInfo.ColumnInfo is GridViewImageColumn)
            {
                cellPrintElement          = this.CreateImageCellPrintElement(cellInfo);
                cellPrintElement.DrawText = false;
            }
            else
            {
                cellPrintElement = new CellPrintElement();
            }
            if (this.GridView.PrintStyle.PrintAlternatingRowColor && this.GridView.PrintStyle.PrintTraverser.Current.Index % 2 == 1)
            {
                cellPrintElement.BackColor = this.GridView.PrintStyle.AlternatingRowColor;
            }
            else
            {
                cellPrintElement.BackColor = this.GridView.PrintStyle.CellBackColor;
            }
            cellPrintElement.BorderColor = this.GridView.PrintStyle.BorderColor;
            Color backColor = cellPrintElement.BackColor;

            if (cellPrintElement.BackColor != Color.Transparent && cellPrintElement.BackColor != Color.Empty)
            {
                cellPrintElement.DrawFill = true;
            }
            GridViewDataColumn     columnInfo1 = cellInfo.ColumnInfo as GridViewDataColumn;
            object                 lookupValue = cellInfo.Value;
            GridViewComboBoxColumn columnInfo2 = cellInfo.ColumnInfo as GridViewComboBoxColumn;

            if (columnInfo2 != null && columnInfo2.HasLookupValue)
            {
                lookupValue = columnInfo2.GetLookupValue(lookupValue);
            }
            if (columnInfo1 != null && !string.IsNullOrEmpty(columnInfo1.FormatString))
            {
                if (cellInfo.ColumnInfo is GridViewComboBoxColumn)
                {
                    GridViewComboBoxColumn columnInfo3 = (GridViewComboBoxColumn)cellInfo.ColumnInfo;
                    columnInfo1.DataType          = columnInfo3.DisplayMemberDataType;
                    columnInfo1.DataTypeConverter = TypeDescriptor.GetConverter(columnInfo3.DisplayMemberDataType);
                    cellPrintElement.Text         = RadDataConverter.Instance.Format(lookupValue, typeof(string), (IDataConversionInfoProvider)columnInfo1) as string;
                }
                else
                {
                    cellPrintElement.Text = RadDataConverter.Instance.Format(lookupValue, typeof(string), (IDataConversionInfoProvider)columnInfo1) as string;
                }
            }
            else
            {
                cellPrintElement.Text = lookupValue != null?lookupValue.ToString() : string.Empty;
            }
            cellPrintElement.TextAlignment  = cellInfo.ColumnInfo.TextAlignment;
            cellPrintElement.StringTrimming = StringTrimming.EllipsisCharacter;
            if (this.GridView.RightToLeft == RightToLeft.Yes)
            {
                cellPrintElement.StringFormatFlags |= StringFormatFlags.DirectionRightToLeft;
            }
            if (!cellInfo.ColumnInfo.WrapText)
            {
                cellPrintElement.StringFormatFlags |= StringFormatFlags.NoWrap;
            }
            return(cellPrintElement);
        }
        private static void CreateFilterStringValues(
            FilterDescriptor descriptor,
            ref StringBuilder sb,
            GridViewComboBoxColumn lookupColumn)
        {
            if (descriptor is CompositeFilterDescriptor)
            {
                bool flag = false;
                CompositeFilterDescriptor filterDescriptor1 = (CompositeFilterDescriptor)descriptor;
                if (filterDescriptor1.NotOperator)
                {
                    sb.Append(LocalizationProvider <RadGridLocalizationProvider> .CurrentProvider.GetLocalizedString("FilterCompositeNotOperator"));
                    sb.Append(" ");
                    flag = true;
                }
                foreach (FilterDescriptor filterDescriptor2 in (Collection <FilterDescriptor>)filterDescriptor1.FilterDescriptors)
                {
                    if (sb.Length > 0 && !flag)
                    {
                        string str = string.Empty;
                        switch (filterDescriptor1.LogicalOperator)
                        {
                        case FilterLogicalOperator.And:
                            str = LocalizationProvider <RadGridLocalizationProvider> .CurrentProvider.GetLocalizedString("FilterLogicalOperatorAnd");

                            break;

                        case FilterLogicalOperator.Or:
                            str = LocalizationProvider <RadGridLocalizationProvider> .CurrentProvider.GetLocalizedString("FilterLogicalOperatorOr");

                            break;
                        }
                        sb.Append(str);
                        sb.Append(' ');
                    }
                    flag = false;
                    GridFilterStringProvider.CreateFilterStringValues(filterDescriptor2, ref sb, lookupColumn);
                }
            }
            else
            {
                sb.Append(GridFilterStringProvider.GetLocalizedFilterOperator(descriptor.Operator));
                if (descriptor.Operator == FilterOperator.None || descriptor.Operator == FilterOperator.IsNull || descriptor.Operator == FilterOperator.IsNotNull)
                {
                    return;
                }
                sb.Append(": \"");
                if (lookupColumn == null)
                {
                    sb.Append(descriptor.Value);
                }
                else
                {
                    object lookupValue = descriptor.Value;
                    if (lookupColumn != null && lookupColumn.FilteringMode == GridViewFilteringMode.ValueMember)
                    {
                        lookupValue = lookupColumn.GetLookupValue(descriptor.Value);
                    }
                    if (lookupValue != null)
                    {
                        sb.Append(lookupValue);
                    }
                    else
                    {
                        sb.Append(descriptor.Value);
                    }
                }
                sb.Append("\" ");
            }
        }