public едакторЯчеек_МногострочныйРедактор_Renderer(GridControlBase grid, GridCellModelBase cellModel) : base(grid, cellModel)
 {
     this.drawПолеМногострРедактора = new ВыпадающийТекст();
     this.editПолеМногострРедактора = new ВыпадающийТекст();
     this.editПолеМногострРедактора.EditValueChanged += new EventHandler(this.editПолеМногострРедактора_EditValueChanged);
     base.SupportsFocusControl = true;
     base.FixControlParent(this.drawПолеМногострРедактора);
     base.SetControl(this.editПолеМногострРедактора);
 }
Example #2
0
 public static void ПроинициализироватьЗначение(ВыпадающийТекст полеМногострРедактора, object Значение)
 {
     полеМногострРедактора.Текст = Значение.ToString();
 }
Example #3
0
        public void ВыставитьТипСтолбца(СтолбецМетаструктуры СтолбецМетастуктуры, ОтчетнаяФормаДанных ОтчетнаяФорма)
        {
            RepositoryItem item = null;
            ОписаниеМножественнойСсылкиНаСправочник справочник;
            ОписаниеСсылкиНаСправочник справочник2;

            this.описаниеЯчейки = СтолбецМетастуктуры.ОписаниеТипаЯчейки;
            if (СтолбецМетастуктуры.Тип.IsSubclassOf(typeof(ОбщийЧисловойТип)))
            {
                Type   type          = СтолбецМетастуктуры.Тип;
                int    num           = 0;
                string str           = "";
                string displayFormat = "";
                if (type == typeof(ФинансовыйТип))
                {
                    num = 2;
                }
                else if (type == typeof(ЦелочисленныйТип))
                {
                    num = 0;
                }
                else if ((type == typeof(ЧисловойТип)) && ((this.описаниеЯчейки != null) && (this.описаниеЯчейки is ОписаниеЧисловогоТипа)))
                {
                    num = (this.описаниеЯчейки as ОписаниеЧисловогоТипа).Точность;
                }
                if (num == 0)
                {
                    str = "N00";
                }
                else
                {
                    str = "N" + num.ToString();
                }
                displayFormat                  = "{" + string.Format("0:{0}", str) + "}";
                this.СтрокаФорматирования      = str;
                base.SummaryItem.SummaryType   = SummaryItemType.Sum;
                base.SummaryItem.DisplayFormat = displayFormat;
                base.UnboundType               = UnboundColumnType.Decimal;
                едакторЧислаДинамическойТаблицы таблицы = new  едакторЧислаДинамическойТаблицы();
                таблицы.DisplayFormat.FormatString = displayFormat;
                if (base.View != null)
                {
                    base.View.GroupSummary.Add(new GridGroupSummaryItem(SummaryItemType.Sum, base.FieldName, this, displayFormat));
                }
                item = таблицы;
                goto Label_0679;
            }
            if (СтолбецМетастуктуры.Тип == typeof(ТипДатаВремя))
            {
                base.UnboundType = UnboundColumnType.DateTime;
                if (СтолбецМетастуктуры.ОписаниеТипаЯчейки is ОписаниеТипаДатаВремя)
                {
                    RepositoryItem        item2 = null;
                    ОписаниеТипаДатаВремя время = СтолбецМетастуктуры.ОписаниеТипаЯчейки as ОписаниеТипаДатаВремя;
                    if (время.едакторВремени)
                    {
                        item2 = new RepositoryItemTimeEdit();
                    }
                    else
                    {
                        item2 = new  едакторДатыДинамическойТаблицы();
                        if (!string.IsNullOrEmpty(время.ФорматОтображения))
                        {
                            (item2 as  едакторДатыДинамическойТаблицы).Mask.MaskType = MaskType.DateTime;
                            (item2 as  едакторДатыДинамическойТаблицы).Mask.EditMask = время.ФорматОтображения;
                            (item2 as  едакторДатыДинамическойТаблицы).Mask.UseMaskAsDisplayFormat = true;
                        }
                    }
                    item = item2;
                }
                else
                {
                    едакторДатыДинамическойТаблицы таблицы2 = new  едакторДатыДинамическойТаблицы();
                    item = таблицы2;
                }
                goto Label_0679;
            }
            if (СтолбецМетастуктуры.Тип == typeof(ТипИзображение))
            {
                base.UnboundType = UnboundColumnType.Object;
                RepositoryItemImageEdit edit = new RepositoryItemImageEdit();
                edit.NullText = string.Empty;
                edit.ShowIcon = true;
                edit.SizeMode = PictureSizeMode.Stretch;
                item          = edit;
                goto Label_0679;
            }
            if (СтолбецМетастуктуры.Тип == typeof(СтроковыйТип))
            {
                if ((this.описаниеЯчейки != null) && (this.описаниеЯчейки is ОписаниеСтроковогоТипаЯчейки))
                {
                    ОписаниеСтроковогоТипаЯчейки ячейки = this.описаниеЯчейки as ОписаниеСтроковогоТипаЯчейки;
                    if (!string.IsNullOrEmpty(ячейки.МаскаВвода))
                    {
                        ПолеВводаТекста текста = new ПолеВводаТекста();
                        текста.Mask.MaskType               = MaskType.RegEx;
                        текста.Mask.EditMask               = ячейки.МаскаВвода;
                        текста.Mask.ShowPlaceHolders       = true;
                        текста.Mask.UseMaskAsDisplayFormat = true;
                        текста.Mask.IgnoreMaskBlank        = false;
                        item = текста;
                    }
                    else if (ячейки.МногострочныйРедактор)
                    {
                        ВыпадающийТекст текст = new ВыпадающийТекст();
                        item = текст;
                    }
                    else
                    {
                        base.UnboundType = UnboundColumnType.String;
                    }
                }
                else
                {
                    base.UnboundType = UnboundColumnType.String;
                }
                goto Label_0679;
            }
            if (СтолбецМетастуктуры.Тип == typeof(ЛогическийТип))
            {
                this.ТипЭлементаДляВыбора = typeof(Учреждение);
                base.UnboundType          = UnboundColumnType.Boolean;
                едакторФлажокДинамическойТаблицы таблицы3 = new  едакторФлажокДинамическойТаблицы();
                item = таблицы3;
                goto Label_0679;
            }
            if ((СтолбецМетастуктуры.Тип != typeof(СсылкаНаСправочник)) && (СтолбецМетастуктуры.Тип != typeof(МножественнаяСсылкаНаСправочник)))
            {
                goto Label_0679;
            }
            ВыборИзСправочника справочника = new ВыборИзСправочника();

            if ((this.описаниеЯчейки != null) && ((this.описаниеЯчейки is ОписаниеСсылкиНаСправочник) || (this.описаниеЯчейки is ОписаниеМножественнойСсылкиНаСправочник)))
            {
                справочник  = null;
                справочник2 = null;
                string str3 = "";
                if (this.описаниеЯчейки is ОписаниеМножественнойСсылкиНаСправочник)
                {
                    справочник = this.описаниеЯчейки as ОписаниеМножественнойСсылкиНаСправочник;
                    str3       = справочник.КодСправочника;
                }
                else if (this.описаниеЯчейки is ОписаниеСсылкиНаСправочник)
                {
                    справочник2 = this.описаниеЯчейки as ОписаниеСсылкиНаСправочник;
                    str3        = справочник2.КодСправочника;
                }
                string str4 = str3.Trim().ToLower();
                if (str4 == null)
                {
                    goto Label_057D;
                }
                if (!(str4 == "учреждение"))
                {
                    if (str4 == "типучреждения")
                    {
                        this.ТипЭлементаДляВыбора = typeof(ТипУчреждения);
                        this.ИсточникДанных       = null;
                        goto Label_0643;
                    }
                    if (str4 == "видучреждения")
                    {
                        this.ТипЭлементаДляВыбора = typeof(ВидУчреждения);
                        this.ИсточникДанных       = null;
                        goto Label_0643;
                    }
                    goto Label_057D;
                }
                this.ТипЭлементаДляВыбора = typeof(Учреждение);
                this.ИсточникДанных       = null;
            }
            goto Label_0643;
Label_057D:
            this.ТипЭлементаДляВыбора = null;
            if (справочник != null)
            {
                ВыборЗаписейСправочника справочника2 = new ВыборЗаписейСправочника(ежимВыбораЭлементовСпискаВыбора.Множественный);
                справочника2.ОписаниеСсылки = справочник;
                if ((ОтчетнаяФорма != null) && (ОтчетнаяФорма.КомпонентОтчетногоПериода != null))
                {
                    справочника2.ДатаАктуальности = ОтчетнаяФорма.КомпонентОтчетногоПериода.ОтчетныйПериод.ДатаНачала;
                }
                this.ИсточникДанных = справочника2;
            }
            else if (справочник2 != null)
            {
                ВыборИзУниверсальногоСправочника справочника3 = new ВыборИзУниверсальногоСправочника();
                справочника3.ОписаниеСсылки = справочник2;
                if ((ОтчетнаяФорма != null) && (ОтчетнаяФорма.КомпонентОтчетногоПериода != null))
                {
                    справочника3.ДатаАктуальности = ОтчетнаяФорма.КомпонентОтчетногоПериода.ОтчетныйПериод.ДатаНачала;
                }
                this.ИсточникДанных = справочника3;
            }
Label_0643:
            base.UnboundType = UnboundColumnType.Object;
            base.SortMode    = ColumnSortMode.DisplayText;
            base.FilterMode  = ColumnFilterMode.DisplayText;
            base.OptionsColumn.AllowGroup = DefaultBoolean.True;
            base.OptionsColumn.AllowSort  = DefaultBoolean.True;
            item = справочника;
Label_0679:
            base.ColumnEdit = item;
        }