powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Спозиционироваться в гриде на строку с неким зн-ем определенного поля
4 сообщений из 4, страница 1 из 1
Спозиционироваться в гриде на строку с неким зн-ем определенного поля
    #38081591
AlexV1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть grid типа DataGridView, к которому привязан ds типа DataSet;

Зная имя поля в датасете (Name) и его значение, необходимо спозиционироваться на эту строку в гриде.
Все просто на первый взгляд.
В Delphi это делается просто, одной командой ADOQuery1.Locate('id',зн-е,[]);
А как в C# ?

Находил примерные решения с помощью BindingSource, но как то сложно это все, может есть какой то простой способ...
...
Рейтинг: 0 / 0
Спозиционироваться в гриде на строку с неким зн-ем определенного поля
    #38083450
AlexV1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Позиционирование в гриде нашел как сделать

grid1.CurrentCell = grid1.Rows[i].Cells[grid1.CurrentCell.ColumnIndex];

А вот для поиска в DataTable грида пришлось написать свою функцию

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
// ----------------------------------------------------------------------
// Поиск строки в DataTable по некому полю и его значению 
// На выходе: номер найденной строки или -1, если не найдено
// ----------------------------------------------------------------------
private int FindRowInDataTable(ref DataTable dt, string FieldName, string FieldValue)
{
   for (int i = 0; i < dt.Rows.Count - 1; i++)
   {
      if (dt.Rows[i][FieldName].ToString() == FieldValue) { return i; }
   }
   return -1;
}


Работает.

Хотя конечно более стандартному решению, и при этом короткому, был бы рад.
Если кто знает, напишите.
...
Рейтинг: 0 / 0
Спозиционироваться в гриде на строку с неким зн-ем определенного поля
    #38083879
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexV1Позиционирование в гриде нашел как сделать

grid1.CurrentCell = grid1.Rows[i].Cells[grid1.CurrentCell.ColumnIndex];

А вот для поиска в DataTable грида пришлось написать свою функцию

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
// ----------------------------------------------------------------------
// Поиск строки в DataTable по некому полю и его значению 
// На выходе: номер найденной строки или -1, если не найдено
// ----------------------------------------------------------------------
private int FindRowInDataTable(ref DataTable dt, string FieldName, string FieldValue)
{
   for (int i = 0; i < dt.Rows.Count - 1; i++)
   {
      if (dt.Rows[i][FieldName].ToString() == FieldValue) { return i; }
   }
   return -1;
}



Работает.

Хотя конечно более стандартному решению, и при этом короткому, был бы рад.
Если кто знает, напишите.

пипец всё с ног на голову, читаем про BindingManager
...
Рейтинг: 0 / 0
Спозиционироваться в гриде на строку с неким зн-ем определенного поля
    #38084003
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
AlexV1Находил примерные решения с помощью BindingSource, но как то сложно это все, может есть какой то простой способ...

Офигеть сложность -
Код: c#
1.
bindingSource.Position = bindingSource.Find("Имя", "Маша")
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Спозиционироваться в гриде на строку с неким зн-ем определенного поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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