powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Detach row
9 сообщений из 9, страница 1 из 1
Detach row
    #40008171
saley
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго вечера,
Можно ли вытащить данные из datarow со статусом detach?
...
Рейтинг: 0 / 0
Detach row
    #40008183
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saley,

не статусом, а состоянием (RowState)
не detach, а Detached

да, можно
...
Рейтинг: 0 / 0
Detach row
    #40008241
saley
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
Если не секрет, то как?

Из msdn есть описание для всех статусов кроме этого
здесь
...
Рейтинг: 0 / 0
Detach row
    #40008255
saley
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пробовал все варианты и proposed и default , результат один, ошибка. Нельзя получить данные.
Проблема вот в чём, я подцепил к гриду datatable и удаляю строки из грида. Подписался на событие для datatable.rowdeleted и пытаюсь выдернуть из e.Row значение. Ничего не получается. У меня такое ощущение, что перед срабатыванием события удаления строки в самом гриде надо ручками изменять RowState, применяя Row.Delete(), иначе система присваивает состояние Detached, а не Delete
...
Рейтинг: 0 / 0
Detach row
    #40008297
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saley,

код покажите..
...
Рейтинг: 0 / 0
Detach row
    #40008326
saley
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подписка на событие
Код: c#
1.
((DataTable)bindingSource.DataSource).RowDeleted += GRID_RowDeleted;



Код: c#
1.
2.
3.
4.
5.
6.
 private void GRID_RowDeleted(object sender, DataRowChangeEventArgs e)
        {
 //запускаю функцию
                NumberLines(Convert.ToInt64(e.Row["id_subsbj", DataRowVersion.Default]), Convert.ToDateTime( e.Row["id_DateReport", DataRowVersion.Default]));
            
        }


Выдаёт ошибку

Код: c#
1.
 Message =This row has been removed from a table and does not have any data.  BeginEdit() will allow creation of new data in this row.


Данные в строке точно были.

Если использую DataRowVersion.Proposed, то ошибка

Код: c#
1.
There is no Proposed data to access.



Получается это событие вызывается уже после того, как грид всё очистил и отцепил строку.
...
Рейтинг: 0 / 0
Detach row
    #40008376
saley
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал принудительно удалять строку, но при выполнении
Код: c#
1.
dataRow.Delete()

RowState становится Detached а не Delete и все данные из строки удаляются.
Это связано с тем, что удаляемая строка принадлежит таблице DataSource для грида?
...
Рейтинг: 0 / 0
Detach row
    #40008390
saley
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется понял, если у строки перед удалением dataRow.RowState = RowAdd, то после
Код: c#
1.
dataRow.Delete()

RowState будет Detached.


Можно ли делать AcceptChanges только для одной строки DataTable?
...
Рейтинг: 0 / 0
Detach row
    #40008529
saley
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё, разобрался...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Detach row
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]