СтрокаДанных.Состояние (DataRow.RowState) Свойство

Использование

Только чтение.

Значение

Тип: СостояниеСтрокиДанных (DataRowState).

Возвращает состояние объекта СтрокаДанных (DataRow).

Одно из значений перечисления СостояниеСтрокиДанных (DataRowState).

Примечание

Пример

Состояние = СтрокаДанных1.Состояние;
Полный пример кода

Копировать     Выделить всё

Перем Ф, СеткаДанных1; Процедура Кнопка1_Нажатие() Экспорт // Получите выбранную строку и колонку через СеткаДанных1.ТекущаяЯчейка. НомерКолонки = СеткаДанных1.ТекущаяЯчейка.НомерКолонки; НомерСтроки = СеткаДанных1.ТекущаяЯчейка.НомерСтроки; // Получите выбранный стиль СтильКолонкиСеткиДанных. СтильКолонкиСеткиДанных1 = СеткаДанных1.СтилиТаблицы.Элемент(0).СтилиКолонкиСеткиДанных.Элемент(НомерКолонки); Если СеткаДанных1.ИсточникДанных.Колонки.Элемент(НомерКолонки).ТипДанных = 1 Тогда // Вызовите метод НачатьРедактирование, чтобы узнать, можно ли начать редактирование. Если (СеткаДанных1.НачатьРедактирование(СтильКолонкиСеткиДанных1, НомерСтроки)) Тогда // Измените значение строки. Получите ТаблицаДанных1 и выбранную строку. // Предположим, что СеткаДанных1 привязан к ТаблицаДанных1. ТаблицаДанных1 = СеткаДанных1.ИсточникДанных; СтрокаДанных1 = ТаблицаДанных1.Строки.Элемент(НомерСтроки); // Вызовите метод НачатьРедактирование объекта СтрокаДанных1. СтрокаДанных1.НачатьРедактирование(); СтрокаДанных1.УстановитьЭлемент(НомерКолонки, 155); // Вы должны принять изменения как в СтрокаДанных1, так и в ТаблицаДанных1. СтрокаДанных1.ЗавершитьРедактирование(); Если Не (СтрокаДанных1.Состояние = 4) Тогда СтрокаДанных1.ОтказИзменений(); КонецЕсли; Попытка СтрокаДанных1.ПринятьИзменения(); Исключение КонецПопытки; ТаблицаДанных1.ПринятьИзменения(); СеткаДанных1.ЗавершитьРедактирование(СтильКолонкиСеткиДанных1 , НомерСтроки, Истина); Иначе Сообщить("Редактировать нельзя"); КонецЕсли; Иначе Ф.ОкноСообщений().Показать("В колонке " + НомерКолонки + " тип данных не Число.", "", Ф.КнопкиОкнаСообщений.ОКОтмена, Ф.ЗначокОкнаСообщений.Восклицание); КонецЕсли; КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Ширина = 900; Форма1.Высота = 400; Форма1.Отображать = Истина; Форма1.Показать(); Форма1.Активизировать(); СеткаДанных1 = Ф.СеткаДанных(); СеткаДанных1.Родитель = Форма1; СеткаДанных1.ТекстЗаголовка = "Сетка данных"; СеткаДанных1.Ширина = Форма1.Ширина - 100; СеткаДанных1.Высота = Форма1.КлиентВысота - 10; ТаблицаДанных1 = Ф.ТаблицаДанных("ТД1"); КолонкиТаб = ТаблицаДанных1.Колонки; Колонка0 = КолонкиТаб.Добавить(Ф.КолонкаДанных("№ н/п", Ф.ТипДанных.Число)); Колонка1 = КолонкиТаб.Добавить(Ф.КолонкаДанных("ФИО", Ф.ТипДанных.Строка)); Колонка2 = КолонкиТаб.Добавить(Ф.КолонкаДанных("ДатаРождения", Ф.ТипДанных.Дата)); Колонка3 = КолонкиТаб.Добавить(Ф.КолонкаДанных("Высшее образование", Ф.ТипДанных.Булево)); Колонка4 = КолонкиТаб.Добавить(Ф.КолонкаДанных("PostCount", Ф.ТипДанных.Число)); Колонка5 = КолонкиТаб.Добавить(Ф.КолонкаДанных("Инкремент", Ф.ТипДанных.Число)); Колонка5.АвтоПриращение = Истина; Колонка5.НачальноеЧисло = 25; Колонка5.ШагПриращения = 5; Стр13 = "Трифонов Юрий Никифорович,19990607,Истина,61.80 |Шигаев Агап Денисович,19991001,Ложь,48.99 |Сочеванова Анфиса Георгиевна,19970909,Истина,31.08 |Врунгель Христофор Бонифатьевич,19901010,Истина,53.22 |Шикалов Игнатий Маркович,19901010,Истина,53.22 |Сергеевич Аристарх Изяславович,19950621,Ложь,25.97 |Бондарчук Александр Ермолаевич,19930713,Истина,89.53 |Ефремова Ева Степановна,19990105,Ложь,12.11 |Моисеева Зинаида Никитевна,19930616,Истина,33.66 |Кузьмова Лиана Игнатиевна,19930621,Ложь,40.70 |Ковшутина Алина Игоревна,19911122,Истина,77.50 |Чемериса Дина Глебовна,19901206,Истина,35.00 |Сухоруков Давид Александрович,19930811,Истина,71.31 |Шагидзянова Наталия Николаевна,19950330,Истина,17.46 |Игошина Влада Емельяновна,19970731,Ложь,57.09 |Бортник Борис Федосиевич,19911101,Истина,41.48 |Заболотный Евсей Фролович,19931013,Истина,74.24 |Сонин Викентий Мечиславович,19970310,Истина,91.52 |Коваленко Злата Фомевна,19921215,Истина,11.38 |Шатохина Людмила Александровна,19920604,Ложь,83.06 |Пряхин Владислав Владимирович,19910304,Истина,28.36"; Для А = 1 По СтрЧислоСтрок(Стр13) Цикл ТаблицаДанных1.Строки.Добавить(ТаблицаДанных1.НоваяСтрока()); КонецЦикла; М_Счетчик = Ф.МассивСписок(); М_ФИО = Ф.МассивСписок(); М_ДатаРождения = Ф.МассивСписок(); М_ВысшееОбразование = Ф.МассивСписок(); М_КоличествоБонусов = Ф.МассивСписок(); Для А = 1 По СтрЧислоСтрок(Стр13) Цикл Стр14 = СтрПолучитьСтроку(Стр13, А); М9 = СтрРазделить(Стр14, ","); М_Счетчик.Добавить(А); М_ФИО.Добавить(М9[0]); М_ДатаРождения.Добавить(Дата("" + М9[1])); М_ВысшееОбразование.Добавить(?(М9[2] = "Истина", Истина, Ложь)); М_КоличествоБонусов.Добавить(Число(М9[3])); КонецЦикла; ТаблицаДанных1.ЗагрузитьКолонку(М_Счетчик, 0); ТаблицаДанных1.ЗагрузитьКолонку(М_ФИО, 1); ТаблицаДанных1.ЗагрузитьКолонку(М_ДатаРождения, "ДатаРождения"); ТаблицаДанных1.ЗагрузитьКолонку(М_ВысшееОбразование, Колонка3); ТаблицаДанных1.ЗагрузитьКолонку(М_КоличествоБонусов, Колонка4); СтильТаблицыСеткиДанных1 = Ф.СтильТаблицыСеткиДанных(); СтильТаблицыСеткиДанных1.ИмяОтображаемого = "ТД1"; ИндексСтильТаблицыСеткиДанных1 = СеткаДанных1.СтилиТаблицы.Добавить(СтильТаблицыСеткиДанных1); СтильКолонки1 = Ф.СтильКолонкиПолеВвода(); СтильКолонки1.ИмяОтображаемого = "№ н/п"; СтильКолонки1.ТекстЗаголовка = "№ н/п"; СтильКолонки1.Ширина = 50; СтильКолонки1.Выравнивание = Ф.ГоризонтальноеВыравнивание.Центр; СтильТаблицыСеткиДанных1.СтилиКолонкиСеткиДанных.Добавить(СтильКолонки1); СтильКолонки2 = Ф.СтильКолонкиПолеВвода(); СтильКолонки2.ИмяОтображаемого = "ФИО"; СтильКолонки2.ТекстЗаголовка = "ФИО"; СтильКолонки2.Ширина = 250; СтильТаблицыСеткиДанных1.СтилиКолонкиСеткиДанных.Добавить(СтильКолонки2); СтильКолонки3 = Ф.СтильКолонкиПолеВвода(); СтильКолонки3.ИмяОтображаемого = "ДатаРождения"; СтильКолонки3.ТекстЗаголовка = "Дата рождения"; СтильКолонки3.Ширина = 120; СтильКолонки3.Выравнивание = Ф.ГоризонтальноеВыравнивание.Центр; СтильТаблицыСеткиДанных1.СтилиКолонкиСеткиДанных.Добавить(СтильКолонки3); СтильКолонки4 = Ф.СтильКолонкиБулево(); СтильКолонки4.ИмяОтображаемого = "Высшее образование"; СтильКолонки4.ТекстЗаголовка = "Высшее образование"; СтильКолонки4.Ширина = 160; СтильТаблицыСеткиДанных1.СтилиКолонкиСеткиДанных.Добавить(СтильКолонки4); СтильКолонки5 = Ф.СтильКолонкиПолеВвода(); СтильКолонки5.ИмяОтображаемого = "PostCount"; СтильКолонки5.ТекстЗаголовка = "Счетчик"; СтильКолонки5.Ширина = 80; СтильКолонки5.Выравнивание = Ф.ГоризонтальноеВыравнивание.Центр; СтильТаблицыСеткиДанных1.СтилиКолонкиСеткиДанных.Добавить(СтильКолонки5); СтильКолонки6 = Ф.СтильКолонкиПолеВвода(); СтильКолонки6.ИмяОтображаемого = "Инкремент"; СтильКолонки6.ТекстЗаголовка = "Инкремент"; СтильКолонки6.Ширина = 90; СтильКолонки6.Выравнивание = Ф.ГоризонтальноеВыравнивание.Центр; СтильТаблицыСеткиДанных1.СтилиКолонкиСеткиДанных.Добавить(СтильКолонки6); СеткаДанных1.ИсточникДанных = ТаблицаДанных1; Кнопка1 = Форма1.ЭлементыУправления.Добавить(Ф.Кнопка()); Кнопка1.Правее(СеткаДанных1, 10); Кнопка1.Верх = 10; Кнопка1.Нажатие = Ф.Действие(ЭтотОбъект, "Кнопка1_Нажатие"); Кнопка1.Текст = "Установить в ячейке значение 155"; Кнопка1.Высота = Кнопка1.Высота * 4; Ф.ЗапуститьОбработкуСобытий();

Тестовый код

Копировать     Выделить всё

Перем Ф, СеткаДанных1; Процедура Кнопка1_Нажатие() Экспорт // Получите выбранную строку и колонку через СеткаДанных1.ТекущаяЯчейка. НомерКолонки = СеткаДанных1.ТекущаяЯчейка.НомерКолонки; НомерСтроки = СеткаДанных1.ТекущаяЯчейка.НомерСтроки; // Получите выбранный стиль СтильКолонкиСеткиДанных. СтильКолонкиСеткиДанных1 = СеткаДанных1.СтилиТаблицы.Элемент(0).СтилиКолонкиСеткиДанных.Элемент(НомерКолонки); Если СеткаДанных1.ИсточникДанных.Колонки.Элемент(НомерКолонки).ТипДанных = 1 Тогда // Вызовите метод НачатьРедактирование, чтобы узнать, можно ли начать редактирование. Если (СеткаДанных1.НачатьРедактирование(СтильКолонкиСеткиДанных1, НомерСтроки)) Тогда // Измените значение строки. Получите ТаблицаДанных1 и выбранную строку. // Предположим, что СеткаДанных1 привязан к ТаблицаДанных1. ТаблицаДанных1 = СеткаДанных1.ИсточникДанных; СтрокаДанных1 = ТаблицаДанных1.Строки.Элемент(НомерСтроки); // Вызовите метод НачатьРедактирование объекта СтрокаДанных1. СтрокаДанных1.НачатьРедактирование(); СтрокаДанных1.УстановитьЭлемент(НомерКолонки, 155); // Вы должны принять изменения как в СтрокаДанных1, так и в ТаблицаДанных1. СтрокаДанных1.ЗавершитьРедактирование(); Если Не (СтрокаДанных1.Состояние = 4) Тогда СтрокаДанных1.ОтказИзменений(); КонецЕсли; Попытка СтрокаДанных1.ПринятьИзменения(); Исключение КонецПопытки; ТаблицаДанных1.ПринятьИзменения(); СеткаДанных1.ЗавершитьРедактирование(СтильКолонкиСеткиДанных1 , НомерСтроки, Истина); Иначе Сообщить("Редактировать нельзя"); КонецЕсли; Иначе Ф.ОкноСообщений().Показать("В колонке " + НомерКолонки + " тип данных не Число.", "", Ф.КнопкиОкнаСообщений.ОКОтмена, Ф.ЗначокОкнаСообщений.Восклицание); КонецЕсли; КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Ширина = 900; Форма1.Высота = 400; Форма1.Отображать = Истина; Форма1.Показать(); Форма1.Активизировать(); СеткаДанных1 = Ф.СеткаДанных(); СеткаДанных1.Родитель = Форма1; СеткаДанных1.ТекстЗаголовка = "Сетка данных"; СеткаДанных1.Ширина = Форма1.Ширина - 100; СеткаДанных1.Высота = Форма1.КлиентВысота - 10; ТаблицаДанных1 = Ф.ТаблицаДанных("ТД1"); КолонкиТаб = ТаблицаДанных1.Колонки; Колонка0 = КолонкиТаб.Добавить(Ф.КолонкаДанных("№ н/п", Ф.ТипДанных.Число)); Колонка1 = КолонкиТаб.Добавить(Ф.КолонкаДанных("ФИО", Ф.ТипДанных.Строка)); Колонка2 = КолонкиТаб.Добавить(Ф.КолонкаДанных("ДатаРождения", Ф.ТипДанных.Дата)); Колонка3 = КолонкиТаб.Добавить(Ф.КолонкаДанных("Высшее образование", Ф.ТипДанных.Булево)); Колонка4 = КолонкиТаб.Добавить(Ф.КолонкаДанных("PostCount", Ф.ТипДанных.Число)); Колонка5 = КолонкиТаб.Добавить(Ф.КолонкаДанных("Инкремент", Ф.ТипДанных.Число)); Колонка5.АвтоПриращение = Истина; Колонка5.НачальноеЧисло = 25; Колонка5.ШагПриращения = 5; Стр13 = "Трифонов Юрий Никифорович,19990607,Истина,61.80 |Шигаев Агап Денисович,19991001,Ложь,48.99 |Сочеванова Анфиса Георгиевна,19970909,Истина,31.08 |Врунгель Христофор Бонифатьевич,19901010,Истина,53.22 |Шикалов Игнатий Маркович,19901010,Истина,53.22 |Сергеевич Аристарх Изяславович,19950621,Ложь,25.97 |Бондарчук Александр Ермолаевич,19930713,Истина,89.53 |Ефремова Ева Степановна,19990105,Ложь,12.11 |Моисеева Зинаида Никитевна,19930616,Истина,33.66 |Кузьмова Лиана Игнатиевна,19930621,Ложь,40.70 |Ковшутина Алина Игоревна,19911122,Истина,77.50 |Чемериса Дина Глебовна,19901206,Истина,35.00 |Сухоруков Давид Александрович,19930811,Истина,71.31 |Шагидзянова Наталия Николаевна,19950330,Истина,17.46 |Игошина Влада Емельяновна,19970731,Ложь,57.09 |Бортник Борис Федосиевич,19911101,Истина,41.48 |Заболотный Евсей Фролович,19931013,Истина,74.24 |Сонин Викентий Мечиславович,19970310,Истина,91.52 |Коваленко Злата Фомевна,19921215,Истина,11.38 |Шатохина Людмила Александровна,19920604,Ложь,83.06 |Пряхин Владислав Владимирович,19910304,Истина,28.36"; Для А = 1 По СтрЧислоСтрок(Стр13) Цикл ТаблицаДанных1.Строки.Добавить(ТаблицаДанных1.НоваяСтрока()); КонецЦикла; М_Счетчик = Ф.МассивСписок(); М_ФИО = Ф.МассивСписок(); М_ДатаРождения = Ф.МассивСписок(); М_ВысшееОбразование = Ф.МассивСписок(); М_КоличествоБонусов = Ф.МассивСписок(); Для А = 1 По СтрЧислоСтрок(Стр13) Цикл Стр14 = СтрПолучитьСтроку(Стр13, А); М9 = СтрРазделить(Стр14, ","); М_Счетчик.Добавить(А); М_ФИО.Добавить(М9[0]); М_ДатаРождения.Добавить(Дата("" + М9[1])); М_ВысшееОбразование.Добавить(?(М9[2] = "Истина", Истина, Ложь)); М_КоличествоБонусов.Добавить(Число(М9[3])); КонецЦикла; ТаблицаДанных1.ЗагрузитьКолонку(М_Счетчик, 0); ТаблицаДанных1.ЗагрузитьКолонку(М_ФИО, 1); ТаблицаДанных1.ЗагрузитьКолонку(М_ДатаРождения, "ДатаРождения"); ТаблицаДанных1.ЗагрузитьКолонку(М_ВысшееОбразование, Колонка3); ТаблицаДанных1.ЗагрузитьКолонку(М_КоличествоБонусов, Колонка4); СтильТаблицыСеткиДанных1 = Ф.СтильТаблицыСеткиДанных(); СтильТаблицыСеткиДанных1.ИмяОтображаемого = "ТД1"; ИндексСтильТаблицыСеткиДанных1 = СеткаДанных1.СтилиТаблицы.Добавить(СтильТаблицыСеткиДанных1); СтильКолонки1 = Ф.СтильКолонкиПолеВвода(); СтильКолонки1.ИмяОтображаемого = "№ н/п"; СтильКолонки1.ТекстЗаголовка = "№ н/п"; СтильКолонки1.Ширина = 50; СтильКолонки1.Выравнивание = Ф.ГоризонтальноеВыравнивание.Центр; СтильТаблицыСеткиДанных1.СтилиКолонкиСеткиДанных.Добавить(СтильКолонки1); СтильКолонки2 = Ф.СтильКолонкиПолеВвода(); СтильКолонки2.ИмяОтображаемого = "ФИО"; СтильКолонки2.ТекстЗаголовка = "ФИО"; СтильКолонки2.Ширина = 250; СтильТаблицыСеткиДанных1.СтилиКолонкиСеткиДанных.Добавить(СтильКолонки2); СтильКолонки3 = Ф.СтильКолонкиПолеВвода(); СтильКолонки3.ИмяОтображаемого = "ДатаРождения"; СтильКолонки3.ТекстЗаголовка = "Дата рождения"; СтильКолонки3.Ширина = 120; СтильКолонки3.Выравнивание = Ф.ГоризонтальноеВыравнивание.Центр; СтильТаблицыСеткиДанных1.СтилиКолонкиСеткиДанных.Добавить(СтильКолонки3); СтильКолонки4 = Ф.СтильКолонкиБулево(); СтильКолонки4.ИмяОтображаемого = "Высшее образование"; СтильКолонки4.ТекстЗаголовка = "Высшее образование"; СтильКолонки4.Ширина = 160; СтильТаблицыСеткиДанных1.СтилиКолонкиСеткиДанных.Добавить(СтильКолонки4); СтильКолонки5 = Ф.СтильКолонкиПолеВвода(); СтильКолонки5.ИмяОтображаемого = "PostCount"; СтильКолонки5.ТекстЗаголовка = "Счетчик"; СтильКолонки5.Ширина = 80; СтильКолонки5.Выравнивание = Ф.ГоризонтальноеВыравнивание.Центр; СтильТаблицыСеткиДанных1.СтилиКолонкиСеткиДанных.Добавить(СтильКолонки5); СтильКолонки6 = Ф.СтильКолонкиПолеВвода(); СтильКолонки6.ИмяОтображаемого = "Инкремент"; СтильКолонки6.ТекстЗаголовка = "Инкремент"; СтильКолонки6.Ширина = 90; СтильКолонки6.Выравнивание = Ф.ГоризонтальноеВыравнивание.Центр; СтильТаблицыСеткиДанных1.СтилиКолонкиСеткиДанных.Добавить(СтильКолонки6); СеткаДанных1.ИсточникДанных = ТаблицаДанных1; Кнопка1 = Форма1.ЭлементыУправления.Добавить(Ф.Кнопка()); Кнопка1.Правее(СеткаДанных1, 10); Кнопка1.Верх = 10; Кнопка1.Нажатие = Ф.Действие(ЭтотОбъект, "Кнопка1_Нажатие"); Кнопка1.Текст = "Установить в ячейке значение 155"; Кнопка1.Высота = Кнопка1.Высота * 4; НомерКолонки = СеткаДанных1.ТекущаяЯчейка.НомерКолонки; НомерСтроки = СеткаДанных1.ТекущаяЯчейка.НомерСтроки; СтрокаДанных1 = ТаблицаДанных1.Строки.Элемент(НомерСтроки); Сообщить(?( СтрокаДанных1.Состояние = 4 , "", "!!! ") + "СтрокаДанных.Состояние (DataRow.RowState) Свойство" + " " + ТекущаяДата());

Смотрите также

СтрокаДанных (DataRow) Класс | Библиотека OneScriptForms