Надеюсь, просто, но не могу найти такую опцию.
У меня есть таблица данных - скажем ... 10 строк. Некоторые поля в форме связаны с таблицами table.columns соответственно по имени.
В другой форме, в которой есть сетка, при прокрутке сетки поля сведений обновляются, как и ожидалось, поскольку сетка выполняет некоторые действия, чтобы вызвать событие изменения записи DataTable.
БЕЗ использования таблицы данных, как я могу направить таблицу для перехода к определенной строке для загрузки / отображения обновления в форме ... например:
DataTable MyTable = new DataTable();
MyTable = GetResultsFromSQL(); // returns the 10 rows
MyTable.LoadTheDataForRow(3);
MyTable.LoadTheDataForRow(7);
MyTable.LoadTheDataForRow(2);
Я знаю, что могу использовать строку foreach в таблице, но мне нужно явное использование, поскольку я не хочу проходить по всем строкам, но нуждаюсь в специфичности для конкретных.
Я посмотрел на LoadDataRow (), но, похоже, это для отправки данных обратно на сервер. НЕ то, что я хочу ... Я просто хочу, чтобы строка "Текущий" таблицы была определенной ...
Спасибо
После дальнейших исследований я обнаружил, что элемент управления на основе FORM «BindingSource» (или его производная) позволяет это, например, сетка. Но, очевидно, что-то, что движок .Net делает изнутри, чтобы в конечном итоге «загрузить» заданную строку во что-то, что в конечном итоге вызывает возврат к «BindingSource» ... DataTable имеет события RowChanging и RowChanged, которые, по-видимому, запускаются OnRowChanging / OnRowChanged делегаты, но как мы можем сказать таблице данных, какую «строку» мы хотим, чтобы она была активной.
Элементы управления формой могут сделать это для своих источников привязки, но что на самом деле происходит под капотом, чтобы инициировать эти события OnRowChanging ... Я не хочу перезагружать таблицу данных, строки и т. Д., Просто изменить то, что считается активной строкой, как в сетке, в списке, в выпадающем списке и т. д.