powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Уделение строки из таблицы.
4 сообщений из 4, страница 1 из 1
Уделение строки из таблицы.
    #32694599
Astakhov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос наверняка давно избитый но...
Есть некий класс который визуализирует передаваемый ему DataTable ч/з DataGrid.
Класс по требованию внешнего класса создает всякого рода кнопки (типа добавить, удалить изменить и еще не знаю какие). Под них создаются делегаты, вернее одна делигированная функция возвращающая ID кнопки, а внешний класс уже сам думает что делать на каждое событие.

Я могу отдать внешнему классу либо текущий ID строки (ID из базы данных, уникален), DataRowView (как его привести к DataRow не знаю, в лоб не проходит) или BindingManagerBase. Может еще что...

Вопрос, что лучше иметь снаружи, что б корректно отработать ситуацию.
Т.е. можно было бы удалить или добавить строку из таблицы и что б оно отразилось в DataGrid.
Дайте толчек, в какую сторону топать, бо я сейчас на распутье.
Спасибо.
...
Рейтинг: 0 / 0
Уделение строки из таблицы.
    #32695125
LexaLong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Варианты передачи ID или DataRowView почти одинаковы
Однако все зависит от того знает ли внешний класс о ДатаТэйбле
если да - передавай ID и ищи по ключу запись Table.Rows.Find(ID)
а потом делай с записью что хочешь
У DataRowView есть свойство Row, которое и даст тебе искомую запись.

про BindingManagerBase не знаю..
возможно его можно сделать свойством внутреннего класса и тогда вообще нет смысла передавать что либо через аргументы события, а пользоваться простым EventArgs и в обработчике обращаться к BindingManagerBase.

ЗЫ. в System.Data есть делегат DataRowChangeEventHandler и аргумент к нему DataRowChangeEventArgs - может пользоваться ими и DataRowView для генерации событий и ничего другого не придумывать
...
Рейтинг: 0 / 0
Уделение строки из таблицы.
    #32695336
Astakhov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо.
Решил бороться ч/з DataRowView.
Еще вопрос в догонку.

dataTable.Rows[N].Delete();

Строка вроде как только помечается как удаленная.
Т.е. несколько вызовов dataTable.Rows[5].Delete(); приведут к удалению только одной строки. Ну соответственно если пытаться пробегать в цикле по строкам и пытаться читать содержимое - возникает ошибка.
Все правильно, она и должна появляться.
Но как схлопнуть таблицу и стоит ли вообще этим заниматься, с точки зрения экономии процессорного времени?
...
Рейтинг: 0 / 0
Уделение строки из таблицы.
    #32696159
LexaLong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтобы прибить удаленную строку нужно либо сказать после удаления
Table.AcceptChanges() - при этом будут приняты ВСЕ изменения на таблице,
либо удалять ее по-другому:

Table.Rows.Remove(row) - тогда и следов ее не остнется.

Все это касается случаев когда нет необходимости обновлять базу на сервере,
если база будет обновлятся через DataAdapterы то все изменения будут приняты после Update'ов автоматически
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Уделение строки из таблицы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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