powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DataGrid - получить определенную строку N в DataTable
7 сообщений из 7, страница 1 из 1
DataGrid - получить определенную строку N в DataTable
    #32691662
Astakhov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть некий DataSet - визуализация ч/з DataGrid.
В DataSet есть некоторое поле (ID) которое не показывается DataGrid.
Как до него достучаться если я знаю только номер строки в DataGrid и она не Current. т.е.
Код: plaintext
1.
DataRowView r = (DataRowView)dataGrid1.BindingContext[dataGrid1.DataSource, dataGrid1.DataMember].Current;
int ID = (int)r[Id_Col];
Не подходит.

Есть вероятность, что юзер отсортировал данные.
Не проходит и следующий вариант:
Код: plaintext
1.
DataTable dt = (DataTable)this.DataSource;
int ID = (int)dt.Rows[N][FId_Col];
Причины непроходимости понятны, а вот как лечить пока нет.
...
Рейтинг: 0 / 0
DataGrid - получить определенную строку N в DataTable
    #32691777
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как до него достучаться если я знаю только номер строки в DataGrid и она не Current. т.е.


Узнайте ID и по этому сценарию:
/topic/120248
...
Рейтинг: 0 / 0
DataGrid - получить определенную строку N в DataTable
    #32692017
Astakhov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы это имели в виду, Sa?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CurrencyManager cm = (CurrencyManager) this.BindingContext[dataGrid1.DataSource, dataGrid1.DataMember];
DataView dv = (DataView) cm.List;

for(int i = 0; i < dv.Count; ++i) 
{ 
	if((int) dv[i].Row["idControl"] == 5) 
	{
		cm.Position = i;
		break;
	}
} 
Не слишком ли большие накладные расходы для простого определения строки в DataGrid и DataTable которая показывается именно этим DataGrid???
А если табличка не ограничивается сотней записей, а под сотню тысяч?
...
Рейтинг: 0 / 0
DataGrid - получить определенную строку N в DataTable
    #32692785
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не слишком ли большие накладные расходы для простого определения строки в DataGrid и DataTable которая показывается именно этим DataGrid???
А если табличка не ограничивается сотней записей, а под сотню тысяч?

Т.е. 100 тысяч записей в гриде? Мне кажется грид не создан для этого по крайней мере virtual mode появился только в NW2.0 в DataGridView.

Но вообще можно попробовать будет время сообщу результаты :-)

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
DataGrid - получить определенную строку N в DataTable
    #32692797
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как до него достучаться если я знаю только номер строки в DataGrid и она не Current. т.е.

Да а какая истинная цель всего? Возможно есть и другое более оптимальное решение.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
DataGrid - получить определенную строку N в DataTable
    #32694371
Astakhov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне надо написать класс, который будет отрабатывать так называемые справочники, т.е. показывать, редактировать, искать, фильтровать и т.д.
Что мне там передадут в качестве справочника я не знаю, но уже говорили, что есть такой справочник товаров, там 90'000 записей...
Уговоры одуматься не действуют...
Говорят, что у машины голова большая, пусть думает...
Увы и ах.
Но я тестировал, все нормально отрабатывает. Grid то показывает только экран, так что с этой стороны проблем вроде нет.
...
Рейтинг: 0 / 0
DataGrid - получить определенную строку N в DataTable
    #32694418
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AstakhovМне надо написать класс, который будет отрабатывать так называемые справочники, т.е. показывать, редактировать, искать, фильтровать и т.д.
Что мне там передадут в качестве справочника я не знаю, но уже говорили, что есть такой справочник товаров, там 90'000 записей...
Уговоры одуматься не действуют...
Говорят, что у машины голова большая, пусть думает...
Увы и ах.
Но я тестировал, все нормально отрабатывает. Grid то показывает только экран, так что с этой стороны проблем вроде нет.
Может поставить какой-нибудь фильтр по умолчанию ? Во всяком случае держите это в голове, все равно потом "попросят" сделать, потому что "неудобно работать".
ИМХО есть серьезные сомнения в профессионализме программистов/руководителей, которые предлагают показать пользователю 90 000 строк
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DataGrid - получить определенную строку N в DataTable
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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