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ПолеМногострРедактора); }
public static void ПроинициализироватьЗначение(ВыпадающийТекст полеМногострРедактора, object Значение) { полеМногострРедактора.Текст = Значение.ToString(); }
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; }